|
PetSupportRankItem = PetSupportRankItem or BaseClass(BaseItem)
|
|
local PetSupportRankItem = PetSupportRankItem
|
|
|
|
function PetSupportRankItem:__init()
|
|
self.base_file = "pet"
|
|
self.layout_file = "PetSupportRankItem"
|
|
self.model = PetModel:getInstance()
|
|
|
|
self:Load()
|
|
end
|
|
|
|
function PetSupportRankItem:Load_callback()
|
|
self.nodes = {
|
|
"bg:img",
|
|
"rareBg:img","raceIcon:img","petIcon:img",
|
|
-- "progress:img",
|
|
-- "supporValue:tmp",--声援率
|
|
"name:tmp",
|
|
"roleCon:obj",
|
|
"roleCon/roleName:tmp", "roleCon/vipCon", "roleCon/headCon",
|
|
"des:tmp",
|
|
"rankBg:img",
|
|
"rankNum:tmp",
|
|
"rewardBtn:obj:img",
|
|
"race:tmp",
|
|
"noneTip:obj",
|
|
"rewardBtn/rewardRed:obj",
|
|
--------------------
|
|
"roleCon/designation_con/name_text:tmp",
|
|
"roleCon/designation_con/effect",
|
|
"roleCon/designation_con:obj",
|
|
"roleCon/designation_con/designation_small_image:img:obj",
|
|
"roleCon/designation_con/designation_image:img:obj", "petBg:img",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
|
|
lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetPetImage("pet_support_rank_item_di"))
|
|
|
|
self.roleItem = HeadRoleItem.New(self.headCon)
|
|
self.roleItem:SetItemSize(67,67)
|
|
|
|
self.vipItem = RoleVipItem.New(self.vipCon)
|
|
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function PetSupportRankItem:AddEvents( )
|
|
local on_click = function ( click_obj )
|
|
if self.rewardBtn_obj == click_obj then
|
|
if self.reward_state == 0 then
|
|
self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16315,self.data.pet_id)
|
|
|
|
local rank_cfg = self.model:GetPetSupportRankCfg(self.data.rank)
|
|
local reward_kv_cfg = stringtotable(rank_cfg.server_reward)
|
|
local data = {}
|
|
data.award = reward_kv_cfg
|
|
data.not_show_anim = true
|
|
GlobalEventSystem:Fire(EventName.OPEN_COM_AWARD_RESULT_VIEW,data)
|
|
elseif self.reward_state == 1 then
|
|
Message.show("已领过奖励")
|
|
end
|
|
end
|
|
end
|
|
AddClickEvent(self.rewardBtn_obj, on_click)
|
|
|
|
local function onUpdateRewardState()
|
|
self:UpdateRewardState()
|
|
end
|
|
self:BindEvent(self.model, PetConst.UPDATE_RANK_REWARD_STATE, onUpdateRewardState)
|
|
end
|
|
|
|
function PetSupportRankItem:UpdateView( )
|
|
--排名
|
|
if self.data.rank>=1 and self.data.rank<=3 then
|
|
self.rankNum_tmp.text = ""
|
|
lua_resM:setImageSprite(self,self.rankBg_img,"common_asset","com_rank_4_"..self.data.rank,true)
|
|
else
|
|
self.rankNum_tmp.text = self.data.rank
|
|
lua_resM:setImageSprite(self,self.rankBg_img,"uiComponent_asset","com_empty")
|
|
end
|
|
|
|
|
|
-- --声援率
|
|
-- self.supporValue_tmp.text = string.format("%0.1f",self.data.support_ratio/100).."%"
|
|
-- self.progress_img.fillAmount = (self.data.support_ratio/100)/100
|
|
|
|
--宠物信息
|
|
local pet_cfg = self.model:GetPetCfg(self.data.pet_id, 1)
|
|
self.name_tmp.text = Trim(pet_cfg.pet_name)
|
|
-- ..PetConst.PetRace[pet_cfg.pet_race].color_str
|
|
-- ..PetConst.PetRace[pet_cfg.pet_race].str2
|
|
-- .."</color>"
|
|
|
|
self.race_tmp.text = PetConst.PetRace[pet_cfg.pet_race].str1
|
|
|
|
lua_resM:setImageSprite(self,self.petBg_img,"pet_asset","pet_rare_bg_"..pet_cfg.rare_degree)
|
|
|
|
lua_resM:setImageSprite(self,self.raceIcon_img,"pet_asset","pet_race_"..pet_cfg.pet_race,true)
|
|
|
|
lua_resM:setImageSprite(self,self.rareBg_img,"pet_asset","pet_rare_"..pet_cfg.rare_degree)
|
|
|
|
lua_resM:setOutsideImageSprite(self, self.petIcon_img, GameResPath.GetPetImage("pet_"..self.data.pet_id.."_1"))
|
|
|
|
--属性最高拥有者
|
|
-- self.roleName_tmp.text = self.data.player_name
|
|
if self.data.player_id == 0 then
|
|
self.noneTip_obj:SetActive(true)
|
|
self.roleCon_obj:SetActive(false)
|
|
else
|
|
self.noneTip_obj:SetActive(false)
|
|
self.roleCon_obj:SetActive(true)
|
|
self.vipItem:SetData(self.data.vip_flag,self.data.sup_vip_type)
|
|
if self.data.vip_flag == 0 then
|
|
SetAnchoredPositionX(self.roleName,42)
|
|
else
|
|
SetAnchoredPositionX(self.roleName,79)
|
|
end
|
|
--玩家数据
|
|
local head_data = {
|
|
vo = {
|
|
id = self.data.player_id,
|
|
sex = self.data.sex,
|
|
profile_photo_id = self.data.photo_id,
|
|
dress_board_id = self.data.dress_id,
|
|
}
|
|
}
|
|
self.roleItem:SetData(head_data)
|
|
|
|
if self.data.server_num == 0 then
|
|
self.roleName_tmp.text = self.data.player_name
|
|
else
|
|
self.roleName_tmp.text = GetCSLongName(self.data.player_name,self.data.server_num)
|
|
end
|
|
end
|
|
|
|
local rank_cfg = self.model:GetPetSupportRankCfg(self.data.rank)
|
|
if rank_cfg then
|
|
--描述性语句
|
|
local des_msg = rank_cfg and Trim(rank_cfg.pet_expression) or ""
|
|
self.des_tmp.text = " "..des_msg
|
|
else
|
|
self.des_tmp.text = string.format("区区第%s,好气哦!",WordManager:getHanZiNumber(self.data.rank))
|
|
end
|
|
|
|
--前三称号
|
|
if self.data.rank>=1 and self.data.rank<=3 then
|
|
local top_designation = rank_cfg.top_designation
|
|
self.designation_con_obj:SetActive(true)
|
|
self.designation_small_image_obj:SetActive(false)
|
|
self.designation_image_obj:SetActive(false)
|
|
self.name_text_tmp.text = ""
|
|
|
|
cc.ActionManager:getInstance():removeAllActionsFromTarget(self.designation_image)
|
|
local dsgt_cfg = Config.Dsgt[top_designation]
|
|
if self.designation_image_obj then
|
|
self.designation_image_obj:SetActive(false)
|
|
end
|
|
if dsgt_cfg then
|
|
if dsgt_cfg.type == 1 then--文字称号(文字称号也用图片了)
|
|
lua_resM:setOutsideImageSprite(self, self.designation_small_image_img, GameResPath.GetDesignImage(dsgt_cfg.id), true)
|
|
self.designation_small_image_obj:SetActive(true)
|
|
elseif dsgt_cfg.type == 2 then
|
|
lua_resM:setOutsideImageSprite(self, self.designation_image_img, GameResPath.GetDesignImage(dsgt_cfg.id), true)
|
|
self.designation_image_obj:SetActive(true)
|
|
elseif dsgt_cfg.type == 3 then
|
|
if not self.dynamic_image_obj then
|
|
self.dynamic_image_obj = UiFactory.createChild(self.designation_image, UIType.Image, "dynamic_image")
|
|
self.dynamic_image_img = self.dynamic_image_obj:GetComponent("Image")
|
|
self.dynamic_image = self.dynamic_image_obj.transform
|
|
SetAnchoredPosition(self.dynamic_image,0,0)
|
|
else
|
|
self.dynamic_image_obj:SetActive(true)
|
|
end
|
|
SetSizeDelta(self.designation_image, 210*0.8,90*0.8)
|
|
self.designation_image_obj:SetActive(true)
|
|
local data = DeepCopy(DesignationModel:GetInstance():GetDynamicDesignationCFG(top_designation))
|
|
for i,v in ipairs(data) do
|
|
v.not_auto_size = true
|
|
end
|
|
local res = Split(data[1].res,"_")--分割出来配置 然后取文字
|
|
local font_res = res[1] or ""
|
|
lua_resM:setImageSprite(self, self.dynamic_image_img, data[1].ab, font_res.."_font", false)
|
|
local action = cc.Animation.New(data,0.15)
|
|
cc.ActionManager:getInstance():addAction(cc.RepeatForever.New(action),self.designation_image.transform)
|
|
end
|
|
end
|
|
else
|
|
self.designation_con_obj:SetActive(false)
|
|
cc.ActionManager:getInstance():removeAllActionsFromTarget(self.designation_image)
|
|
end
|
|
|
|
self:UpdateRewardState()
|
|
end
|
|
|
|
function PetSupportRankItem:UpdateRewardState( )
|
|
--领奖状态
|
|
self.reward_state = 0 --0未领取 1-已领取
|
|
local reward_data = self.model:GetPetRankRewardData()
|
|
for k,v in pairs(reward_data) do
|
|
if v.pet_id == self.data.pet_id then
|
|
self.reward_state = v.is_received
|
|
end
|
|
end
|
|
|
|
if self.data.rank>=1 and self.data.rank<=3 then
|
|
self.rewardBtn_obj:SetActive(true)
|
|
if self.reward_state == 0 then
|
|
SetImageGray(self.rewardBtn_img, false)
|
|
self.rewardRed_obj:SetActive(true)
|
|
elseif self.reward_state == 1 then
|
|
SetImageGray(self.rewardBtn_img, true)
|
|
self.rewardRed_obj:SetActive(false)
|
|
end
|
|
else
|
|
self.rewardBtn_obj:SetActive(false)
|
|
end
|
|
end
|
|
|
|
function PetSupportRankItem:SetData(data)
|
|
self.data = data
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function PetSupportRankItem:__delete( )
|
|
cc.ActionManager:getInstance():removeAllActionsFromTarget(self.designation_image)
|
|
if self.roleItem then
|
|
self.roleItem:DeleteMe()
|
|
self.roleItem = nil
|
|
end
|
|
|
|
if self.vipItem then
|
|
self.vipItem:DeleteMe()
|
|
self.vipItem = nil
|
|
end
|
|
end
|