|
|
- MarketHorTabItem = MarketHorTabItem or BaseClass(BaseItem)
- local MarketHorTabItem = MarketHorTabItem
-
- function MarketHorTabItem:__init()
- self.base_file = "market"
- self.layout_file = "MarketHorTabItem"
- self.model = MarketModel:GetInstance()
-
- self:Load()
- end
-
- function MarketHorTabItem:Load_callback()
- self.nodes = {
- "btn:obj:img","btn/name:tmp","btn/red_dot:obj",
- }
- self:GetChildren(self.nodes)
-
- self:AddEvents()
- if self.need_refreshData then
- self:UpdateView()
- end
- if self.need_reselect then
- self:SetSelect(self.is_select)
- end
- end
-
- function MarketHorTabItem:AddEvents( )
- local function on_click( )
- if self.click_func then
- self.click_func(self.index)
- end
- end
- AddClickEvent(self.btn_obj, on_click)
- local function on_update_red( )
- self:UpdateRedDot()
- end
- self.on_update_red_id = self.model:Bind(MarketModel.ANS_MARKET_TAB_RED_DOT, on_update_red)
- end
-
- function MarketHorTabItem:UpdateView( )
- self.name_tmp.text = Trim(self.data)
- self:SetSelect(self.is_select)
- self:UpdateRedDot()
- end
-
- function MarketHorTabItem:UpdateRedDot( )
- if self.index == 2 then
- local red_data = self.model:GetMarketRedData()
- self.red_dot_obj:SetActive(red_data.guild_red or false and true)
- end
- end
-
- function MarketHorTabItem:SetData(index, data )
- self.index = index
- self.data = data
- if self.is_loaded then
- self.need_refreshData = false
- self:UpdateView()
- else
- self.need_refreshData = true
- end
- end
-
- function MarketHorTabItem:SetSelect( bool )
- self.is_select = bool
- if self.is_loaded then
- self.need_reselect = false
- if bool then
- lua_resM:setImageSprite(self, self.btn_img, "market_asset", "market_item25",true)
- self.name_tmp.color = ColorUtil:ConvertHexToRGBColor("#ffffff")
- SetTMPSharedMaterial(self.name_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7OutlineBlueTab)
- else
- lua_resM:setImageSprite(self, self.btn_img, "market_asset", "market_item26",true)
- self.name_tmp.color = ColorUtil:ConvertHexToRGBColor("#9eb3cf")
- SetTMPSharedMaterial(self.name_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7FFDefault)
- end
- else
- self.need_reselect = true
- end
- end
-
- function MarketHorTabItem:SetData(index, data )
- self.index = index
- self.data = data
- if self.is_loaded then
- self.need_refreshData = false
- self:UpdateView()
- else
- self.need_refreshData = true
- end
- end
-
- function MarketHorTabItem:SetClickFunc( click_func )
- self.click_func = click_func
- end
-
- function MarketHorTabItem:__delete( )
- if self.on_update_red_id then
- self.model:UnBind(self.on_update_red_id)
- self.on_update_red_id = nil
- end
- end
|