|
|
- 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
|