PartnerShowItem = PartnerShowItem or BaseClass(BaseItem) function PartnerShowItem:__init() self.base_file = "chat" self.layout_file = "partnerShowItem" self.vo = nil self.index = nil self.model = ChatModel:getInstance() self:Load() end function PartnerShowItem:Load_callback() self.border_btn = self:GetChild("Image").gameObject self.quality = self:GetChild("Head/Quality"):GetComponent("Image") self.level = self:GetChild("Head/Level"):GetComponent("Text") self.head_icon = self:GetChild("Head/Icon"):GetComponent("Image") self.head_icon_border = self:GetChild("Head/Border"):GetComponent("Image") self.name = self:GetChild("Head/Name/Value"):GetComponent("Text") self.select = self:GetChild("Select").gameObject self.select:SetActive(false) if self.need_refreshData then self:SetData() end local function onClickBtnHandler() self.model:SelectedPartnerItem(self) end AddClickEvent(self.gameObject,onClickBtnHandler) end function PartnerShowItem:SetData(index,vo) self.vo = vo or self.vo self.index = index or self.index if self.is_loaded then self.need_refreshData = false local config = Config.Partner[self.vo.partnerid] if config then self.name.text = config.name local quality_icon = PartnerModel:getInstance():GetQualityIcon(config.quality) local function call_back(sp) if sp == nil then lua_resM:setOutsideImageSprite(self,self.head_icon,GameResPath.GetMonsterHeadIcon(PartnerModel.DEFAULT_MODEL_ID),true) end end lua_resM:setOutsideImageSprite(self,self.head_icon,GameResPath.GetMonsterHeadIcon(config.model_id, config.chartlet_id),true,call_back) lua_resM:setImageSprite(self,self.quality,"common_asset",quality_icon,true) -- self.quality:SetNativeSize() lua_resM:setImageSprite(self,self.head_icon_border,"common_asset","partner_bg_"..config.quality) self.level.text = "等级" .. self.vo.lv --1行显示3个伙伴 self:SetPosition(math.floor((self.index - 1) % 3) * 325 , -108 * math.floor((self.index - 1) / 3)) end else self.need_refreshData = true end end function PartnerShowItem:GetParterId() return self.vo.id end function PartnerShowItem:SetSelect(bool) if bool then self.select:SetActive(true) else self.select:SetActive(false) end end