源战役客户端
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 

102 rindas
2.5 KiB

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