源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

123 lines
3.7 KiB

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