RankTargetTabItem = RankTargetTabItem or BaseClass(BaseItem)
|
|
local RankTargetTabItem = RankTargetTabItem
|
|
|
|
function RankTargetTabItem:__init()
|
|
self.base_file = "rank"
|
|
self.layout_file = "RankTargetTabItem"
|
|
self.model = RankModel:getInstance()
|
|
|
|
self:Load()
|
|
end
|
|
|
|
function RankTargetTabItem:Load_callback()
|
|
self.nodes = {
|
|
"select:img:obj", "tabName:tmp", "red:obj",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
if self.need_reclick then
|
|
self:SetSelect(self.click_rank_type)
|
|
end
|
|
end
|
|
|
|
function RankTargetTabItem:AddEvents( )
|
|
local on_click = function ( click_obj )
|
|
if self.select_obj == click_obj then
|
|
if self.tab_click_back then
|
|
self.tab_click_back(self.rank_type, self.is_history)
|
|
end
|
|
end
|
|
end
|
|
AddClickEvent(self.select_obj, on_click)
|
|
|
|
|
|
local function on_ans_update_red_dot()
|
|
if self.is_loaded then
|
|
self:UpdateRed()
|
|
end
|
|
end
|
|
self:BindEvent(self.model, RankModel.ANS_UPDATE_RED_DOT, on_ans_update_red_dot)
|
|
|
|
end
|
|
|
|
function RankTargetTabItem:UpdateRed( )
|
|
local red = self.model:IsRankTypeNeedRed(self.rank_type)
|
|
self.red_obj:SetActive(red)
|
|
end
|
|
|
|
function RankTargetTabItem:UpdateView( )
|
|
local rank_tab_data = self.model:GetRankTabDataByType(self.rank_type)
|
|
if not rank_tab_data then--说明是历史记录页签
|
|
if self.is_history then
|
|
self.tabName_tmp.text = "历史记录"
|
|
end
|
|
else
|
|
self.tabName_tmp.text = rank_tab_data.name
|
|
end
|
|
self:UpdateRed()
|
|
end
|
|
|
|
function RankTargetTabItem:SetData( rank_type, tab_click_back, is_history)
|
|
self.rank_type = rank_type
|
|
self.tab_click_back = tab_click_back
|
|
self.is_history = is_history
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function RankTargetTabItem:SetSelect(click_rank_type)
|
|
self.click_rank_type = click_rank_type
|
|
if self.is_loaded then
|
|
self.need_reclick = false
|
|
if self.click_rank_type == self.rank_type then
|
|
lua_resM:setImageSprite(self, self.select_img, "rank_asset","rank_cs_tab_select")
|
|
SetTMPSharedMaterial(self.tabName_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7OutlineBlueTab)
|
|
self.tabName_tmp.color = ColorUtil:ConvertHexToRGBColor("#ffffff")
|
|
else
|
|
lua_resM:setImageSprite(self, self.select_img, "uiComponent_asset","com_empty")
|
|
SetTMPSharedMaterial(self.tabName_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7FFDefault)
|
|
self.tabName_tmp.color = ColorUtil:ConvertHexToRGBColor("#9eb3cf")
|
|
end
|
|
else
|
|
self.need_reclick = true
|
|
end
|
|
end
|
|
|
|
function RankTargetTabItem:__delete( )
|
|
|
|
end
|