-- <* -- @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