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
|