源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

119 lines
3.6 KiB

-- <*
-- @Author: Saber
-- @Description: 幻魔之家 公共和社团专属tab节点
-- *>
BossHomeMainTabItem = BossHomeMainTabItem or BaseClass(BaseItem)
local BossHomeMainTabItem = BossHomeMainTabItem
function BossHomeMainTabItem:__init(parent_wnd,prefab_asset,layer_name)
self.base_file = "boss"
self.layout_file = "BossHomeMainTabItem"
self.parent_wnd = parent_wnd
self.layer_name = layer_name
self.model = BossHomeModel:getInstance()
self.index = 1
self.selected_index = 0
self:Load()
end
function BossHomeMainTabItem:Load_callback()
local nodes = {
"bg:obj:img",
"flag_mine:img",
"flag_guild:img",
"flag_public:img",
"selected:img",
"drop_rate_up:img",
"exclusive_lb:tmp",
}
self:GetChildren(nodes)
self:AddEvents()
if self.need_refreshData then
self:UpdateView()
end
end
function BossHomeMainTabItem:AddEvents( )
local function click_event(target)
if target == self.bg_obj then
if self.data and self.select_callback then
if self.index == 1 then
self.select_callback(self.index, self.data.type)
else
if self.index > 1 and self.data.guild_data then
self.select_callback(self.index, self.data.type)
else
Message.show("排行前3社团才可拥有专属幻魔哦~", "fault")
end
end
end
end
end
AddClickEvent(self.bg_obj, click_event)
end
function BossHomeMainTabItem:SetData( data, index, select_callback )
self.data = data
self.index = index
self.select_callback = select_callback
if self.is_loaded then
self.need_refreshData = false
self:UpdateView()
else
self.need_refreshData = true
end
end
function BossHomeMainTabItem:UpdateView( )
self:UpdateBasicData()
self:UpdateCommonAreaData()
self:UpdateGuildExclusiveData()
end
-- 加载基础信息
function BossHomeMainTabItem:UpdateBasicData( )
-- 加载背景图
lua_resM:setImageSprite(self, self.bg_img, "bosshomeExtra_asset", "bosshome_maintab" .. self.index)
self:SetSelected(self.selected_index)
end
-- 加载公共地区信息
function BossHomeMainTabItem:UpdateCommonAreaData( )
if self.index ~= 1 then return end
self.flag_public_img.enabled = true
self.drop_rate_up_img.enabled = true
self.flag_mine_img.enabled = false
self.flag_guild_img.enabled = false
self.exclusive_lb_tmp.text = ""
SetImageGray(self.bg_img, false)
end
-- 加载社团专属区域信息
function BossHomeMainTabItem:UpdateGuildExclusiveData( )
if self.index == 1 then return end
self.flag_public_img.enabled = false
self.drop_rate_up_img.enabled = false
self.flag_guild_img.enabled = true
if self.data.guild_data then
SetImageGray(self.bg_img, false)
local my_guild_id = RoleManager.Instance.mainRoleInfo.guild_id
self.flag_mine_img.enabled = my_guild_id == self.data.guild_data.guild_id
self.exclusive_lb_tmp.text = string.format("归属:%s", self.data.guild_data.guild_name)
else
SetImageGray(self.bg_img, true)
self.flag_mine_img.enabled = false
self.exclusive_lb_tmp.text = "暂无归属"
end
end
function BossHomeMainTabItem:SetSelected(selected_index)
self.selected_index = selected_index
if self.is_loaded then
self.selected_img.enabled = self.selected_index == self.index
end
end
function BossHomeMainTabItem:__delete( )
end