sk-client/Assets/ManagedResources/~Lua/View/PlayerHeadFrameView.lua

120 lines
5.3 KiB
Lua

local PlayerHeadFrameView = {}
function PlayerHeadFrameView:New(gameObject)
local b = {}
b.gameObject = gameObject
b.transform = gameObject.transform
setmetatable(b, { __index = PlayerHeadFrameView })
return b
end
--初始化组件(用于子类重写)
function PlayerHeadFrameView:InitComponent()
self.expVaule = Util.GetGameObject(self.gameObject, "LeftUp/exp"):GetComponent("Slider")
self.expVauleText = Util.GetGameObject(self.gameObject, "LeftUp/exp/Text"):GetComponent("Text")
self.frame = Util.GetGameObject(self.gameObject, "LeftUp/headBox/frame"):GetComponent("Image")
self.icon = Util.GetGameObject(self.gameObject, "LeftUp/headBox/icon"):GetComponent("Image")
self.levelLv = Util.GetGameObject(self.gameObject, "LeftUp/headBox/lvFrame/lv"):GetComponent("Text")
self.VIPLevel = Util.GetGameObject(self.gameObject, "LeftUp/VIPLevel"):GetComponent("Image")
self.headBtn = Util.GetGameObject(self.gameObject, "LeftUp/headBox/headpos")
self.power = Util.GetGameObject(self.gameObject, "LeftUp/powerBtn/value"):GetComponent("Text")
self.name = Util.GetGameObject(self.gameObject, "LeftUp/name"):GetComponent("Text")
end
--绑定事件(用于子类重写)
function PlayerHeadFrameView:BindEvent()
Util.AddClick(self.headBtn, function()
-- if AppConst.isOpenGM then
-- -- if self.isOpen then
-- UIManager.OpenPanel(UIName.GMPanel)
-- -- else
-- -- UIManager.OpenPanel(UIName.SettingPanel)
-- -- end
-- else
UIManager.OpenPanel(UIName.SettingPanel)
-- end
end)
Util.AddClick(self.VIPLevel.gameObject, function()
if AppConst.isOpenGM then
UIManager.OpenPanel(UIName.GMPanel)
end
end)
end
--添加事件监听(用于子类重写)
function PlayerHeadFrameView:AddListener()
Game.GlobalEvent:AddEvent(GameEvent.Vip.OnVipRankChanged, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:AddEvent(GameEvent.Player.OnPlayerLvChange, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:AddEvent(GameEvent.FormationCenter.OnFormationCenterLevelChange, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:AddEvent(GameEvent.Player.OnHeadChange, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:AddEvent(GameEvent.Player.OnHeadFrameChange, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:AddEvent(GameEvent.HeroGrade.OnHeroGradeChange, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:AddEvent(GameEvent.Player.OnPowerChange, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:AddEvent(GameEvent.Player.OnPlayNameChange, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:AddEvent(GameEvent.Player.OnPlayRingChange, self.RefreshPlayerInfoShow, self)
end
--移除事件监听(用于子类重写)
function PlayerHeadFrameView:RemoveListener()
Game.GlobalEvent:RemoveEvent(GameEvent.Vip.OnVipRankChanged, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnPlayerLvChange, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:RemoveEvent(GameEvent.FormationCenter.OnFormationCenterLevelChange, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnHeadChange, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnHeadFrameChange, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:RemoveEvent(GameEvent.HeroGrade.OnHeroGradeChange, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnPowerChange, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnPlayNameChange, self.RefreshPlayerInfoShow, self)
Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnPlayRingChange, self.RefreshPlayerInfoShow, self)
end
--界面打开时调用(用于子类重写)
function PlayerHeadFrameView:OnOpen(...)
--self:RefreshPlayerInfoShow()
--self:Reset()
end
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
function PlayerHeadFrameView:OnShow(isOpen)
self.isOpen = isOpen
self:RefreshPlayerInfoShow()
end
function PlayerHeadFrameView:OnSortingOrderChange(sortingOrder)
local canvas = self.gameObject:GetComponent("Canvas")
canvas.overrideSorting = true
canvas.sortingOrder = sortingOrder
end
--界面关闭时调用(用于子类重写)
function PlayerHeadFrameView:OnClose()
--ClearRedPointObject(RedPointType.Setting, this.headRedpot)
--self:Reset()
end
function PlayerHeadFrameView:RefreshPlayerInfoShow()
self.expVaule.value = PlayerManager.exp / PlayerManager.userLevelData[PlayerManager.level].Exp
self.expVauleText.text = PlayerManager.exp.."/".. PlayerManager.userLevelData[PlayerManager.level].Exp
self.icon.sprite = GetPlayerHeadSprite(PlayerManager.head)
self.frame.sprite = GetPlayerHeadFrameSprite(PlayerManager.frame)
self.levelLv.text = "Lv." .. tostring(PlayerManager.level)
self.VIPLevel.sprite = VipManager.SetVipLevelImg()
-- self.power.text = FormationManager.GetFormationPower(FormationManager.curFormationIndex)
self.power.text = FormationManager.GetFormationPower(1) --固定显示闯关战力
FormationManager.UserPowerChanged()
self.name.text = PlayerManager.nickName
end
function PlayerHeadFrameView:Recycle()
SubUIManager.Close(self)
end
return PlayerHeadFrameView