CSMainAppointTab = CSMainAppointTab or BaseClass(BaseItem)
|
|
local CSMainAppointTab = CSMainAppointTab
|
|
|
|
function CSMainAppointTab:__init()
|
|
self.base_file = "csMain"
|
|
self.layout_file = "CSMainAppointTab"
|
|
self.model = CSMainModel:getInstance()
|
|
|
|
self:Load()
|
|
end
|
|
|
|
function CSMainAppointTab:Load_callback()
|
|
self.nodes = {
|
|
"bg:obj", "select:obj", "red:obj", "tabName:tmp",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
if self.need_reclick then
|
|
self:OnClick(self.click_index)
|
|
end
|
|
end
|
|
|
|
function CSMainAppointTab:AddEvents( )
|
|
local on_click = function ( click_obj )
|
|
if self.gameObject == click_obj then
|
|
if self.in_select then return end
|
|
self.model:Fire(CSMainConst.ON_CLICK_APPOINT_TAB,self.index)
|
|
end
|
|
end
|
|
AddClickEvent(self.gameObject, on_click)
|
|
|
|
--事件绑定:点击自身item处理
|
|
local click_func = function(id)
|
|
self:OnClick(id)
|
|
end
|
|
self:BindEvent(self.model, CSMainConst.ON_CLICK_APPOINT_TAB, click_func)
|
|
end
|
|
|
|
function CSMainAppointTab:UpdateView( )
|
|
self.tabName_tmp.text = self.data.name
|
|
end
|
|
|
|
function CSMainAppointTab:OnClick(click_index)
|
|
self.click_index = click_index
|
|
if self.is_loaded then
|
|
self.need_reclick = false
|
|
if self.click_index == self.index then
|
|
self.in_select = true
|
|
self.bg_obj:SetActive(false)
|
|
self.select_obj:SetActive(true)
|
|
self.tabName_tmp.color = ColorUtil:ConvertHexToRGBColor("ffffff")
|
|
SetTMPSharedMaterial(self.tabName_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7OutlineBlueTab)
|
|
if self.call_back then
|
|
self.call_back(self.index)
|
|
end
|
|
else
|
|
self.in_select = false
|
|
self.bg_obj:SetActive(true)
|
|
self.select_obj:SetActive(false)
|
|
self.tabName_tmp.color = ColorUtil:ConvertHexToRGBColor("7d91ac")
|
|
SetTMPSharedMaterial(self.tabName_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7FFDefault)
|
|
end
|
|
else
|
|
self.need_reclick = true
|
|
end
|
|
end
|
|
|
|
function CSMainAppointTab:SetData( data,index,call_back)
|
|
self.data = data
|
|
self.index = index
|
|
self.call_back = call_back
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function CSMainAppointTab:__delete( )
|
|
|
|
end
|