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