GuildEventTabItem = GuildEventTabItem or BaseClass(BaseItem)
|
|
local GuildEventTabItem = GuildEventTabItem
|
|
|
|
function GuildEventTabItem:__init(parent_wnd,prefab_asset,layer_name)
|
|
self.base_file = "guild"
|
|
self.layout_file = "GuildEventTabItem"
|
|
self.parent_wnd = parent_wnd
|
|
self.layer_name = layer_name
|
|
self.is_selected = false
|
|
self.model = GuildModel:getInstance()
|
|
self:Load()
|
|
end
|
|
|
|
function GuildEventTabItem:Load_callback()
|
|
self.nodes = {
|
|
"bg:obj:img", "selected:obj", "reddot:obj",
|
|
"time:tmp",
|
|
"closed_flag:obj",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function GuildEventTabItem:AddEvents( )
|
|
local function click_event(target)
|
|
if target == self.bg_obj then
|
|
if self.call_back and self.data then
|
|
self.call_back(self.data, self.index)
|
|
end
|
|
end
|
|
end
|
|
AddClickEvent(self.bg_obj, click_event, LuaSoundManager.SOUND_UI.SWITCH)
|
|
|
|
local function update_tab_red()
|
|
self:UpdateTabRed()
|
|
end
|
|
self:BindEvent(self.model, GuildModel.UPDATE_RED_DOT_BY_TYPE, update_tab_red)
|
|
end
|
|
|
|
function GuildEventTabItem:UpdateView( )
|
|
--加载背景图
|
|
local tab_res = GuildModel.EventTabRes[self.data.module_id .. "@" .. self.data.module_sub]
|
|
if self.data.module_id == 406 then
|
|
tab_res = GuildModel.EventTabRes[self.data.module_id .. "@" .. self.data.ac_sub]
|
|
end
|
|
lua_resM:setImageSprite(self,self.bg_img,"guildExtra1_asset",tab_res)
|
|
|
|
-- -- 活动名称
|
|
-- self.event_name_txt.text = self.data.name
|
|
|
|
-- -- 拆分活动时间字串,获得活动开始时间
|
|
-- local time_info = Split(self.data.time_str, "~")
|
|
-- self.time_tmp.text = time_info[1].."进行"
|
|
|
|
self.is_selected = self.model.select_tab_index == self.index
|
|
self:SetSelected(self.is_selected)
|
|
self:UpdateTabRed()
|
|
|
|
self:SetGray(self.index < self.activity_index)
|
|
end
|
|
|
|
function GuildEventTabItem:UpdateTabRed( )
|
|
if not self.data then return end
|
|
local key = self.data.module_id .. "@" .. self.data.module_sub
|
|
if self.data.module_id == 406 then
|
|
key = self.data.module_id .. "@" .. self.data.ac_sub
|
|
end
|
|
if self.data.module_id == 408 then--采集活动
|
|
local s_h = Split((Split(self.data.time_str, "~")[1]),":")[1]
|
|
local s_m = Split((Split(self.data.time_str, "~")[1]),":")[2]
|
|
local round = self.model:GetActivityRound(s_h,s_m)
|
|
key = self.data.module_id .. "@" .. round
|
|
end
|
|
|
|
local red_bool = self.model:GetGuildEventTabRed(key)
|
|
-- self.reddot_obj:SetActive(red_bool)
|
|
-- 2021.3.23 优化需求:社团活动页签不再给红点
|
|
self.reddot_obj:SetActive(false)
|
|
|
|
-- 拆分活动时间字串,获得活动开始时间
|
|
if red_bool then
|
|
self.time_tmp.text = "<#2CF86F>进行中</color>"
|
|
else
|
|
local time_info = Split(self.data.time_str, "~")
|
|
self.time_tmp.text = time_info[1].."进行"
|
|
end
|
|
end
|
|
|
|
|
|
|
|
--当前或接下来将要进行的活动,小于这个活动index的tabItem都要置灰处理
|
|
function GuildEventTabItem:SetData( data, index, call_back,activity_index)
|
|
self.data = data
|
|
self.index = index
|
|
self.call_back = call_back
|
|
self.activity_index = activity_index or nil
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function GuildEventTabItem:SetSelected(bool)
|
|
self.is_selected = bool
|
|
if self.is_loaded then
|
|
self.selected_obj:SetActive(self.is_selected)
|
|
end
|
|
end
|
|
|
|
function GuildEventTabItem:SetGray(bool)
|
|
SetImageGray(self.bg_img,bool)
|
|
self.closed_flag_obj:SetActive(bool)
|
|
end
|
|
|
|
function GuildEventTabItem:__delete( )
|
|
|
|
end
|