|
MarketVerTabItem = MarketVerTabItem or BaseClass(BaseItem)
|
|
local MarketVerTabItem = MarketVerTabItem
|
|
|
|
function MarketVerTabItem:__init()
|
|
self.base_file = "market"
|
|
self.layout_file = "MarketVerTabItem"
|
|
self.model = MarketModel:GetInstance()
|
|
self.view_type = MarketModel.VER_TAB_TYPE.WORLD_TYPE
|
|
self:Load()
|
|
end
|
|
|
|
function MarketVerTabItem:Load_callback()
|
|
self.nodes = {
|
|
"tab_con:obj","sub_con:obj","tab_con/tab_text:tmp","sub_con/sub_text:tmp",
|
|
"sub_con/sub_bg:obj","tab_con/arrow","tab_con/tab_bg:img",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
if self.need_refresh_select then
|
|
self:SetSelect(self.select_sell_type, self.select_sell_sub_type)
|
|
end
|
|
end
|
|
|
|
function MarketVerTabItem:AddEvents( )
|
|
function on_click( target )
|
|
local delay_fun = function()--一秒内只能点1次
|
|
if self._use_delete_method then
|
|
return
|
|
end
|
|
if target == self.tab_con_obj then
|
|
if self.view_type == MarketModel.VER_TAB_TYPE.WORLD_TYPE or self.view_type == MarketModel.VER_TAB_TYPE.GUILD_TYPE then
|
|
local data = self.data[1] or self.data[0]
|
|
if self.call_back then
|
|
self.call_back(data, data.sell_type, nil)--上层就直接传空的回去
|
|
end
|
|
elseif self.view_type == MarketModel.VER_TAB_TYPE.ATTENTION_TYPE then
|
|
local data = self.data[1][1]
|
|
if self.call_back then
|
|
self.call_back(data, data.sell_category, nil)--上层就直接传空的回去
|
|
end
|
|
end
|
|
elseif target == self.sub_con_obj then
|
|
if self.view_type == MarketModel.VER_TAB_TYPE.WORLD_TYPE or self.view_type == MarketModel.VER_TAB_TYPE.GUILD_TYPE then
|
|
if self.call_back then
|
|
self.call_back(self.data, self.data.sell_type, self.data.sell_sub_type)
|
|
end
|
|
elseif self.view_type == MarketModel.VER_TAB_TYPE.ATTENTION_TYPE then
|
|
if self.data.is_zero == true then
|
|
self.call_back(self.data, self.data.sell_type, self.data.sell_sub_type)
|
|
else
|
|
local data = self.data[1]
|
|
if self.call_back then
|
|
self.call_back(data, data.sell_category, data.sell_subcategory)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
TimeManager.GetInstance():StartDalayTime("MarketVerTabItemBtnClick",0.1,delay_fun)
|
|
end
|
|
AddClickEvent(self.tab_con_obj, on_click)
|
|
AddClickEvent(self.sub_con_obj, on_click)
|
|
end
|
|
|
|
function MarketVerTabItem:UpdateView( )
|
|
if not self.data then
|
|
return
|
|
end
|
|
if self.data.is_tab then
|
|
self.tab_con_obj:SetActive(true)
|
|
self.sub_con_obj:SetActive(false)
|
|
if self.view_type == MarketModel.VER_TAB_TYPE.WORLD_TYPE or self.view_type == MarketModel.VER_TAB_TYPE.GUILD_TYPE then
|
|
if self.view_type == MarketModel.VER_TAB_TYPE.GUILD_TYPE then
|
|
if TableSize(self.data[1]) == 0 then
|
|
self.tab_text_tmp.text = "正在出售"
|
|
else
|
|
local data = self.data[1] or self.data[0]
|
|
self.tab_text_tmp.text = self.model:GetMarketTabNameBuySellType(data.sell_type)
|
|
end
|
|
else
|
|
local data = self.data[1]
|
|
self.tab_text_tmp.text = self.model:GetMarketTabNameBuySellType(data.sell_type)
|
|
end
|
|
elseif self.view_type == MarketModel.VER_TAB_TYPE.ATTENTION_TYPE then
|
|
local data = self.data[1]
|
|
if TableSize(data) > 0 then
|
|
self.tab_text_tmp.text = self.model:GetMarketTabNameBuySellType(data[1].sell_category)
|
|
else
|
|
self.tab_text_tmp.text = "暂无分类"
|
|
end
|
|
end
|
|
else
|
|
self.tab_con_obj:SetActive(false)
|
|
self.sub_con_obj:SetActive(true)
|
|
if self.view_type == MarketModel.VER_TAB_TYPE.WORLD_TYPE or self.view_type == MarketModel.VER_TAB_TYPE.GUILD_TYPE then
|
|
self.sub_text_tmp.text = Trim(self.data.name)
|
|
elseif self.view_type == MarketModel.VER_TAB_TYPE.ATTENTION_TYPE then
|
|
if self.data.is_zero then--如果是第一个 就默认是全部
|
|
self.sub_text_tmp.text = Trim(self.data.name)
|
|
else
|
|
local data = self.data[1]
|
|
self.sub_text_tmp.text = self.model:GetMarketTabNameBuySellSubType(data.sell_category, data.sell_subcategory)
|
|
end
|
|
else
|
|
|
|
end
|
|
end
|
|
self:SetSelect(self.select_sell_type, self.select_sell_sub_type)
|
|
end
|
|
|
|
function MarketVerTabItem:SetData( data , index, select_sell_type, select_sell_sub_type, view_type)
|
|
self.data = data
|
|
self.index = index
|
|
self.select_sell_type = select_sell_type
|
|
self.select_sell_sub_type = select_sell_sub_type
|
|
self.view_type = view_type or self.view_type
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function MarketVerTabItem:SetCallBackFunc( call_back )
|
|
self.call_back = call_back
|
|
end
|
|
|
|
function MarketVerTabItem:SetSelect( index, sub_index )
|
|
self.select_sell_type = index
|
|
self.select_sell_sub_type = sub_index
|
|
if self.is_loaded then
|
|
self.need_refresh_select = false
|
|
if self.data.is_tab then
|
|
if self.view_type == MarketModel.VER_TAB_TYPE.WORLD_TYPE or self.view_type == MarketModel.VER_TAB_TYPE.GUILD_TYPE then
|
|
local data = self.data[1] or self.data[0]
|
|
if data.sell_type == self.select_sell_type then
|
|
self.arrow.localRotation = Quaternion.Euler(0,0,0)
|
|
lua_resM:setImageSprite(self, self.tab_bg_img, "market_asset", "market_icon5")
|
|
self.tab_text_tmp.color = ColorUtil:ConvertHexToRGBColor("ffffff")
|
|
SetTMPSharedMaterial(self.tab_text_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7OutlineBlueTab)
|
|
else
|
|
self.arrow.localRotation = Quaternion.Euler(0,0,180)
|
|
lua_resM:setImageSprite(self, self.tab_bg_img, "market_asset", "market_icon4")
|
|
self.tab_text_tmp.color = ColorUtil:ConvertHexToRGBColor("7d91ac")
|
|
SetTMPSharedMaterial(self.tab_text_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7FFDefault)
|
|
end
|
|
elseif self.view_type == MarketModel.VER_TAB_TYPE.ATTENTION_TYPE then
|
|
local data = self.data[1]
|
|
if data[1].sell_category == self.select_sell_type then
|
|
self.arrow.localRotation = Quaternion.Euler(0,0,0)
|
|
lua_resM:setImageSprite(self, self.tab_bg_img, "market_asset", "market_icon5")
|
|
self.tab_text_tmp.color = ColorUtil:ConvertHexToRGBColor("ffffff")
|
|
SetTMPSharedMaterial(self.tab_text_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7OutlineBlueTab)
|
|
else
|
|
self.arrow.localRotation = Quaternion.Euler(0,0,180)
|
|
lua_resM:setImageSprite(self, self.tab_bg_img, "market_asset", "market_icon4")
|
|
self.tab_text_tmp.color = ColorUtil:ConvertHexToRGBColor("7d91ac")
|
|
SetTMPSharedMaterial(self.tab_text_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7FFDefault)
|
|
end
|
|
end
|
|
else
|
|
if self.view_type == MarketModel.VER_TAB_TYPE.WORLD_TYPE or self.view_type == MarketModel.VER_TAB_TYPE.GUILD_TYPE then
|
|
self.sub_bg_obj:SetActive(self.data.sell_sub_type == self.select_sell_sub_type)
|
|
self.sub_text_tmp.color = self.data.sell_sub_type == self.select_sell_sub_type and ColorUtil:ConvertHexToRGBColor("ffffff") or ColorUtil:ConvertHexToRGBColor("7d91ac")
|
|
elseif self.view_type == MarketModel.VER_TAB_TYPE.ATTENTION_TYPE then
|
|
if self.data.is_zero == true then
|
|
self.sub_bg_obj:SetActive(self.data.sell_sub_type == self.select_sell_sub_type)
|
|
self.sub_text_tmp.color = self.data.sell_sub_type == self.select_sell_sub_type and ColorUtil:ConvertHexToRGBColor("ffffff") or ColorUtil:ConvertHexToRGBColor("7d91ac")
|
|
else
|
|
local data = self.data[1]
|
|
self.sub_bg_obj:SetActive(data.sell_subcategory == self.select_sell_sub_type)
|
|
self.sub_text_tmp.color = data.sell_subcategory == self.select_sell_sub_type and ColorUtil:ConvertHexToRGBColor("ffffff") or ColorUtil:ConvertHexToRGBColor("7d91ac")
|
|
end
|
|
end
|
|
end
|
|
else
|
|
self.need_refresh_select = true
|
|
end
|
|
end
|
|
|
|
function MarketVerTabItem:__delete( )
|
|
|
|
end
|