|
|
- GuildWarRankItem = GuildWarRankItem or BaseClass(BaseItem)
- local GuildWarRankItem = GuildWarRankItem
-
- function GuildWarRankItem:__init()
- self.base_file = "guild"
- self.layout_file = "GuildWarRankItem"
- self.is_delay_callback = true
- self.model = GuildModel:getInstance()
- self.index = false
- self.data = false
- self.i_type = false
- self.hide_bg = false
- self.item_list = {}
- self:Load()
- end
-
- function GuildWarRankItem:Load_callback()
-
- local nodes = {
- "con_item",
- "value_2:tmp",
- "value_1:tmp",
- "rank:tmp",
- "info_con/vip_con",
- "rank_image:img:obj",
- "info_con/name:tmp",
- "bg:raw:obj",
- "info_con:obj",
- "info_con/sex:img",
- "info_con/power:txt",
- "none_rank:obj:tmp",
- }
-
- self:GetChildren(nodes)
-
- self:InitEvent()
-
- if self.need_refreshData then
- self:SetData(self.data, self.index, self.i_type)
- self:HideBg(self.hide_bg)
- end
- self.need_refreshData = false
- end
-
- function GuildWarRankItem:SetData(data, index, i_type)
- self.data = data
- self.index = index
- self.i_type = i_type
- if self.is_loaded then
- self.need_refreshData = false
- self.none_rank_obj:SetActive(false)
- self.value_1_tmp.text = self.data and self.data.value_1 or "虚位以待"
- self.value_2_tmp.text = self.data and self.data.value_2 or ""
- if self.index <= 3 and self.index > 0 then
- self.rank_image_obj:SetActive(true)
- lua_resM:setImageSprite(self, self.rank_image_img, "guildScene_asset", "guild_war_rank_" .. index, true)
- self.rank_tmp.text = ""
- else
- self.rank_image_obj:SetActive(false)
- if index == 0 then
- self.none_rank_obj:SetActive(true)
- self.rank_tmp.text = ""
- else
- self.rank_tmp.text = index
- end
-
- end
-
- if self.i_type == GuildWarRankView.TAB_ID.GUILD or not self.data then
- self.info_con_obj:SetActive(false)
- else
- self.info_con_obj:SetActive(true)
- if not self.vipItem then
- self.vipItem = RoleVipItem.New(self.vip_con)
- end
- self.name_tmp.text = self.data.name
- self.vipItem:SetData(self.data.vip_flag,self.data.sup_vip_type)
- self.power_txt.text = "f"..self.data.power
- lua_resM:setImageSprite(self, self.sex_img, "common_asset", self.data.sex == 1 and "com_boy" or "com_girl", true)
- SetAnchoredPositionX(self.sex_img.transform, self.name_tmp.preferredWidth - 5)
- end
- self:UpdateReward(index, i_type)
- else
- self.need_refreshData = true
- end
- end
-
- function GuildWarRankItem:UpdateReward(rank, i_type)
- local reward_list = self.model:GuildWarGetRankViewRewardByRankAndType(rank, i_type)
- for i, v in ipairs(self.item_list) do
- v:SetVisible(false)
- end
- local start_pos = (5 - #reward_list) * 76
- for ii,vv in ipairs(reward_list) do
- local show_item = self.item_list[ii]
- if not show_item then
- show_item = UIObjPool:PopItem(UIObjPool.UIType.AwardItem, self.con_item)
- show_item:SetIsFixSize(false)
- show_item:SetItemSize(62,62)
- self.item_list[ii] = show_item
- end
- local goods_id = GoodsModel:getInstance():GetMappingTypeId(vv[1],vv[2])
- SetLocalPosition(show_item.transform, start_pos + 76*(ii-1), 0)
-
- show_item:SetData(goods_id, vv[3])
- show_item:SetVisible(true)
- end
- end
-
- function GuildWarRankItem:__delete()
- if self.vipItem then
- self.vipItem:DeleteMe()
- self.vipItem = nil
- end
- for k,v in ipairs(self.item_list) do
- UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, v)
- end
- self.item_list = {}
- end
-
-
- function GuildWarRankItem:InitEvent()
-
- end
-
- function GuildWarRankItem:HideBg(hide_bg)
- self.hide_bg = hide_bg
- if self.is_loaded then
- self.bg_obj:SetActive(not self.hide_bg)
- else
- self.need_refreshData = true
- end
- end
-
-
|