154 lines
6.1 KiB
Lua
154 lines
6.1 KiB
Lua
PlayerInfoView = {}
|
|
|
|
function PlayerInfoView:New(gameObject)
|
|
local b = {}
|
|
b.gameObject = gameObject
|
|
b.transform = gameObject.transform
|
|
setmetatable(b, { __index = PlayerInfoView })
|
|
return b
|
|
end
|
|
|
|
--初始化组件(用于子类重写)
|
|
function PlayerInfoView:InitComponent()
|
|
self.spLoader = SpriteLoader.New()
|
|
|
|
self.heroTeamPowerBtn = Util.GetGameObject(self.gameObject, "powerBtn")
|
|
self.heroTeamPower = Util.GetGameObject(self.gameObject, "powerBtn/value"):GetComponent("Text")
|
|
|
|
|
|
--headBox
|
|
self.level = Util.GetGameObject(self.gameObject, "headBox/lvFrame/lv"):GetComponent("Text")
|
|
self.playName = Util.GetGameObject(self.gameObject, "headBox/name"):GetComponent("Text")
|
|
self.expSliderValue = Util.GetGameObject(self.gameObject, "exp"):GetComponent("Slider")
|
|
self.expSliderValue.transform.localScale = Vector3.New(UIManager.adapterScale, 1, 1)
|
|
|
|
self.headBox = Util.GetGameObject(self.gameObject, "headBox")
|
|
self.headPos = Util.GetGameObject(self.gameObject, "headBox/headpos")
|
|
self.headRedpot = Util.GetGameObject(self.gameObject, "headBox/redpot")
|
|
|
|
-- 特权
|
|
self.vipPrivilegeBtn = Util.GetGameObject(self.gameObject, "vipPrivilege/vipPrivilegeBtn")
|
|
self.vipLevelText = Util.GetGameObject(self.vipPrivilegeBtn, "bg/vip"):GetComponent("Image")
|
|
self.vipRedPoint = Util.GetGameObject(self.gameObject, "vipPrivilege/vipPrivilegeBtn/redPoint")
|
|
--名望
|
|
self.btn_mingwang=Util.GetGameObject(self.gameObject, "btn_mingwang")
|
|
self.mwLvTxt=Util.GetGameObject(self.gameObject, "btn_mingwang/Text"):GetComponent("Image")
|
|
self.mwRed=Util.GetGameObject(self.gameObject, "btn_mingwang/red")
|
|
self.mwEffect=Util.GetGameObject(self.gameObject, "btn_mingwang/saoguang")
|
|
screenAdapte(self.vipPrivilegeBtn)
|
|
|
|
end
|
|
|
|
--绑定事件(用于子类重写)
|
|
function PlayerInfoView:BindEvent()
|
|
--GM工具
|
|
Util.AddClick(self.headBox, function()
|
|
if AppConst.isOpenGM and UIManager.IsOpen(UIName.MainPanel) then
|
|
UIManager.OpenPanel(UIName.GMPanel)
|
|
else
|
|
UIManager.OpenPanel(UIName.SettingPanel)
|
|
end
|
|
end)
|
|
--特权
|
|
Util.AddClick(self.vipPrivilegeBtn, function()
|
|
UIManager.OpenPanel(UIName.VipPanelV2)
|
|
end)
|
|
Util.AddClick(self.btn_mingwang, function()
|
|
UIManager.OpenPanel(UIName.GMMingWangPanel)
|
|
end)
|
|
|
|
end
|
|
|
|
--添加事件监听(用于子类重写)
|
|
function PlayerInfoView:AddListener()
|
|
Game.GlobalEvent:AddEvent(GameEvent.Bag.BagGold, self.OnShow, self)
|
|
Game.GlobalEvent:AddEvent(GameEvent.Player.OnPlayerLvChange, self.OnShow, self)
|
|
Game.GlobalEvent:AddEvent(GameEvent.Player.OnChangeName, self.OnShow, self)
|
|
Game.GlobalEvent:AddEvent(GameEvent.Player.OnHeadFrameChange, self.OnShow, self)
|
|
Game.GlobalEvent:AddEvent(GameEvent.Player.OnHeadChange, self.OnShow, self)
|
|
Game.GlobalEvent:AddEvent(GameEvent.Formation.OnFormationPowerChange, self.RefreshPower, self)
|
|
|
|
-- 绑定红点
|
|
-- BindRedPointObject(RedPointType.Setting, self.headRedpot)
|
|
BindRedPointObject(RedPointType.VipPrivilege, self.vipRedPoint)
|
|
end
|
|
|
|
--移除事件监听(用于子类重写)
|
|
function PlayerInfoView:RemoveListener()
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.Bag.BagGold, self.OnShow, self)
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnPlayerLvChange, self.OnShow, self)
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnChangeName, self.OnShow, self)
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnHeadFrameChange, self.OnShow, self)
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnHeadChange, self.OnShow, self)
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.Formation.OnFormationPowerChange, self.RefreshPower, self)
|
|
|
|
-- 解除绑定
|
|
-- ClearRedPointObject(RedPointType.Setting, self.headRedpot)
|
|
ClearRedPointObject(RedPointType.VipPrivilege, self.vipRedPoint)
|
|
end
|
|
|
|
--界面打开时调用(用于子类重写)
|
|
function PlayerInfoView:OnOpen(...)
|
|
self.orginLayer = 0
|
|
self:OnShow()
|
|
self:RefreshPower()
|
|
-- 默认关闭特权显示
|
|
self:SetPrivilegeShow(false)
|
|
end
|
|
|
|
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
|
function PlayerInfoView:OnShow()
|
|
self.level.text = PlayerManager.level
|
|
self.expSliderValue.value = PlayerManager.exp / PlayerManager.userLevelData[PlayerManager.level].Exp
|
|
self.playName.text = PracticeManager.SetNameColor(PlayerManager.nickName,PracticeManager.PracticeLevel)
|
|
self.vipLevelText.sprite = self.spLoader:LoadSprite(VipManager.SetVipLevelImg())
|
|
|
|
self.mwLvTxt.sprite=self.spLoader:LoadSprite("r_zjm_tequanpaizi_0" ..DynamicActivityManager.curLevel.."_zh")
|
|
self.mwRed:SetActive(false)
|
|
if not self.playerHead then
|
|
self.playerHead = SubUIManager.Open(SubUIConfig.PlayerHeadView, self.headPos.transform)
|
|
end
|
|
self.playerHead:SetHead(PlayerManager.head)
|
|
-- self.playerHead:SetFrame(HeadManager.GetCurFrameId())
|
|
self.playerHead:SetScale(Vector3.one * 0.9)
|
|
self.playerHead:SetPosition(Vector3.New(-5, 8, 0))
|
|
-- self.playerHead:SetLayer(self.sortingOrder)
|
|
self.playerHead:SetEffectScale(0.85)
|
|
end
|
|
|
|
function PlayerInfoView:RefreshPower(force)
|
|
-- LogYellow("战斗力刷新:"..tostring(force))
|
|
self.heroTeamPower.text = force
|
|
-- self.heroTeamPower.text = FormationManager.GetFormationPower(FormationManager.curFormationIndex)
|
|
end
|
|
|
|
--界面关闭时调用(用于子类重写)
|
|
function PlayerInfoView:OnClose()
|
|
self.spLoader:Destroy()
|
|
-- 头像回收
|
|
if self.playerHead then
|
|
self.playerHead:Recycle()
|
|
self.playerHead = nil
|
|
end
|
|
|
|
-- 还原特效层级
|
|
Util.AddParticleSortLayer(self.vipPrivilegeBtn, - self.orginLayer)
|
|
end
|
|
|
|
-- 设置层级
|
|
function PlayerInfoView:SetLayer(sortingOrder)
|
|
Util.AddParticleSortLayer(self.vipPrivilegeBtn, sortingOrder - self.orginLayer)
|
|
if self.playerHead then
|
|
self.playerHead:SetLayer(sortingOrder)
|
|
end
|
|
SetParticleSortLayer(self.mwEffect,sortingOrder)
|
|
self.orginLayer = sortingOrder
|
|
end
|
|
|
|
function PlayerInfoView:SetPrivilegeShow(isShow)
|
|
self.vipPrivilegeBtn:SetActive(false)
|
|
--self.btn_mingwang:SetActive(not not isShow)
|
|
self.btn_mingwang:SetActive(false)
|
|
end
|
|
|
|
return PlayerInfoView |