local PlayerHeadView = {} function PlayerHeadView:New(gameObject) local b = {} b.gameObject = gameObject b.transform = gameObject.transform setmetatable(b, { __index = PlayerHeadView }) return b end --初始化组件(用于子类重写) function PlayerHeadView:InitComponent() self.icon = Util.GetGameObject(self.gameObject, "icon") self.frame = Util.GetGameObject(self.gameObject, "frame") self.lvRoot = Util.GetGameObject(self.gameObject, "lvRoot") self.lv = Util.GetGameObject(self.gameObject, "lvRoot/lv") end --绑定事件(用于子类重写) function PlayerHeadView:BindEvent() end --添加事件监听(用于子类重写) function PlayerHeadView:AddListener() end --移除事件监听(用于子类重写) function PlayerHeadView:RemoveListener() end --界面打开时调用(用于子类重写) function PlayerHeadView:OnOpen(...) self:Reset() end --界面打开或者重新打开后,界面刷新时调用(用于子类重写) function PlayerHeadView:OnShow() end --界面关闭时调用(用于子类重写) function PlayerHeadView:OnClose() self:Reset() end -- 设置头像 function PlayerHeadView:SetHead(headId) self.icon:SetActive(true) self.icon:GetComponent("Image").sprite = GetPlayerHeadSprite(headId) end -- 设置头像框 function PlayerHeadView:SetFrame(frameId) self.frame:SetActive(true) self.frame:GetComponent("Image").sprite = GetPlayerHeadFrameSprite(frameId) end -- 设置等级 function PlayerHeadView:SetLevel(level) self.lvRoot:SetActive(true) self.lv:GetComponent("Text").text = level end -- 设置等级 function PlayerHeadView:SetGray(isGray) Util.SetGray(self.gameObject, isGray) end function PlayerHeadView:Reset() Util.SetGray(self.gameObject, false) self.icon:SetActive(false) self.frame:SetActive(false) self.lvRoot:SetActive(false) end -- 设置节点父节点 function PlayerHeadView:SetParent(parent) if self.transform then self.transform:SetParent(parent.transform) self.parent = parent.transform end end -- 设置节点位置 function PlayerHeadView:SetPosition(v3) if not v3 then return end if self.transform then self.transform.localPosition = v3 end end -- 设置节点缩放值 function PlayerHeadView:SetScale(v3) if type(v3) == "number" then v3 = Vector3.one * v3 end if not v3 then return end if self.transform then self.transform.localScale = v3 end end function PlayerHeadView:Recycle() SubUIManager.Close(self) end return PlayerHeadView