ChildRankItem = ChildRankItem or BaseClass(BaseItem) function ChildRankItem:__init() self.base_file = "child" self.layout_file = "ChildRankItem" self.is_delay_callback = true -- self.use_local_view = true self.model = ChildModel:GetInstance() self:Load() end function ChildRankItem:Load_callback() self.nodes = { --"txt_playerName:tmp", "txt_childrName:tmp","txt_niceNum:tmp","txt_fight_num:tmp", "txt_no_rank:obj:tmp","img_rank:obj:img","img_nice_bg:obj:img", --"img_nice_bg/img_nice:obj", "role_icon:obj", --"vip_icon", "bg:img", "name_con/vip:obj:img", "name_con/sex:obj:img", "name_con/name:tmp", } self:GetChildren(self.nodes) self:InitEvent() if self.need_refreshData then self:SetData(self.data) end end function ChildRankItem:InitEvent() --self.model:Fire(ChildConst.UPDATA_CHILD_VOTED_ROLE_INFO) local function updata_child_voted_info_fun() self:SetData(self.data) end self.updata_child_voted_info = self.model:Bind(ChildConst.UPDATA_CHILD_VOTED_ROLE_INFO, updata_child_voted_info_fun) -- local function onBtnClickHandler(target, x, y) if target == self.img_nice_bg_obj then -- Message.show("self.data.roleid:",self.data.role_id) self.model:Fire(ChildConst.CHILD_REQ_EVENT, 16510,self.data.role_id) end end AddClickEvent(self.img_nice_bg_obj, onBtnClickHandler) end function ChildRankItem:SetData(data) self.data = data if self.is_loaded then self.txt_niceNum_tmp.text = data.vote_num or "" --self.txt_playerName_tmp.text = data.name or "" self.txt_childrName_tmp.text = "宝宝:".. HtmlColorTxt( data.child_name or "", ColorUtil.WHITE_DARK) self.txt_fight_num_tmp.text = "战力:".. HtmlColorTxt( data.role_power or "", ColorUtil.WHITE_DARK) self.txt_no_rank_obj:SetActive(false) self.img_rank_obj:SetActive(true) if data.rank <= 3 then lua_resM:setImageSprite(self, self.img_rank_img, "child_asset", "child_rank_png"..data.rank, true) -- lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetChildIcon("child_rank_item_bg"..data.rank), false) -- local rankColorList = -- { -- [1] = Color(146/255,55/255,53/255,1), -- [2] = Color(145/255,65/255,151/255,1), -- [3] = Color(58/255,113/255,175/255,1), -- } --self.txt_playerName_tmp.color = rankColorList[data.rank] -- self.txt_childrName_tmp.color = rankColorList[data.rank] -- self.txt_fight_num_tmp.color = rankColorList[data.rank] elseif data.rank > 3 then self.txt_no_rank_obj:SetActive(true) self.txt_no_rank_tmp.text = data.rank self.img_rank_obj:SetActive(false) -- lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetChildIcon("child_rank_item_bg0"), false) end -- --vip -- if not self.mainRole_vip_item then -- self.mainRole_vip_item = RoleVipItem.New(self.vip_icon) -- end -- self.mainRole_vip_item:SetData(data.vip_flag,data.sup_vip_type) --头像 if not self.playHeadItem then self.playHeadItem = HeadRoleItem.New(self.role_icon) self.playHeadItem:SetItemSize(68,68) end local head_data = { vo = { use_bg = 2, id = data.role_id, server_id = data.ser_id, career = 0, --data.career, level = data.level, sex = data.sex, turn = data.turn, board = data.dress_board, picture_ver = data.picture_ver, picture = data.picture, profile_photo_id = data.profile_photo_id}, } self.playHeadItem:SetData(head_data) lua_resM:setImageSprite(self, self.sex_img, "common_asset", data.sex == 1 and "com_boy" or " com_girl", true) if not self.vipItem then self.vipItem = RoleVipItem.New(self.vip_img.transform) end self.vipItem:SetData(data.vip_flag, data.sup_vip_type) if data.vip_flag == 0 and data.sup_vip_type == 0 then self.vip_obj:SetActive(false) else self.vip_obj:SetActive(true) end self.name_tmp.text = HtmlColorTxt( " " .. data.name, "#ffffff") SetSizeDelta(self.name, self.name_tmp.preferredWidth + 5, self.name_tmp.preferredHeight) --点没点赞 local voted_list = self.model:GetChildVotedRoleList() for k,v in pairs(voted_list) do if v.role_id == data.role_id then --self.img_nice_obj:SetActive(false) local need_set_gray = true --宠物生活技能 宝宝每日给同一个玩家点赞次数 local life_skill_active = PetModel:getInstance():IsLifeSkillActived(PetConst.LifeSkill.ChildAsylumTimesUp) local life_skill_ratio = PetModel:getInstance():GetPetLifeSkillRatio(PetConst.LifeSkill.ChildAsylumTimesUp) if life_skill_active then need_set_gray = v.vote_times == life_skill_ratio + 1 end SetImageGray(self.img_nice_bg_img, need_set_gray) return end end --上面list长度可能为0,所以单独判断是否本人 if data.role_id == RoleManager.Instance.mainRoleInfo.role_id then --self.img_nice_obj:SetActive(false) SetImageGray(self.img_nice_bg_img, true) else --self.img_nice_obj:SetActive(true) SetImageGray(self.img_nice_bg_img, false) end else self.need_refreshData = true end end function ChildRankItem:__delete() if self.playHeadItem then self.playHeadItem:DeleteMe() self.playHeadItem = nil end if self.updata_child_voted_info then self.model:UnBind(self.updata_child_voted_info) self.updata_child_voted_info = nil end if self.mainRole_vip_item then self.mainRole_vip_item:DeleteMe() self.mainRole_vip_item = nil end if self.vipItem then self.vipItem:DeleteMe() self.vipItem = nil end end