【修复主城人物层级bug】

dev_chengFeng
zhangqiang 2021-03-22 13:47:59 +08:00
parent 4c5e87e06f
commit dc5d0a2d12
3 changed files with 35 additions and 5 deletions

View File

@ -55,7 +55,7 @@ function this:InsertNewText(btn)
end
local isRefeshIcon = true
local curNPCList = {}
--初始化组件(用于子类重写)
function this:InitComponent()
orginLayer = 0
@ -301,14 +301,18 @@ function this:BindEvent()
-- view.NameText.text = NameManager.GetLocalRandomName()
-- view:SetAutoMove()
-- end
curNPCList = {}
PlayerManager.GetMainPlayerNPCData(function(NPCList)
for i = 1, #NPCList do
local view = MainPlayerView.New(false, this.btnClickMove, rect, Vector2.New(math.random(rect.xMin, rect.xMax), math.random(rect.yMin, rect.yMax)),NPCList[i].sex)
view.NameText.text = NPCList[i].userName or NPCList[i].name
view:SetAutoMove()
view.leader.transform.name = "MainPlayerView"..i
table.insert(curNPCList,view)
end
end)
self.playerView = MainPlayerView.New(true, this.btnClickMove, rect, Vector2.New(-1210, 0))
table.insert(curNPCList,self.playerView)
--角色点击行走
self.trigger.onPointerClick = self.trigger.onPointerClick + function(p, d)
local x, v2 = RectTransformUtility.ScreenPointToLocalPointInRectangle(btnClickMoveTran, Input.mousePosition, UIManager.camera, nil)
@ -861,10 +865,15 @@ function this:OnShow()
--检测鸿蒙碑红点
HarmonyManager.CheckRedPoinStatusUpTowerMainCityRed()
FixedUpdateBeat:Add(this.OnUpdate, self)--长按方法注册
end
--
function this.OnUpdate()
--主城人物层级处理
this.OnMainPlayerNPCRefresh()
end
-- 刷新玩家基础信息显示
function this.RefreshPlayerInfoShow()
this.vipLevelText.sprite = VipManager.SetVipLevelImg()
@ -1099,6 +1108,7 @@ function this:OnClose()
PlayerManager.StopBattleUpLvTipTime()
this.ChatTipView:StopCheck()
PatFaceManager.isLogin = false
FixedUpdateBeat:Remove(this.OnUpdate, self)
end
--界面销毁时调用(用于子类重写)
@ -1346,4 +1356,24 @@ function this.RefreshBattleUpLvTip()
this.battleUpLvTip:GetComponent("Canvas").sortingOrder = orginLayer + 10
this.battleUpLvTip:SetActive(true)
end
local roleRefreshNum = 0
function this.OnMainPlayerNPCRefresh()
if roleRefreshNum < 60 then
roleRefreshNum = roleRefreshNum + 1
elseif roleRefreshNum >= 60 and PlayerManager.MainPanelRoleMonveState then
roleRefreshNum = 0
-- LogRed("PlayerManager.MainPanelRoleMonveState "..tostring(PlayerManager.MainPanelRoleMonveState))
if curNPCList and #curNPCList > 0 then
table.sort(curNPCList,function(a,b)
return a.leader.transform.localPosition.y > b.leader.transform.localPosition.y
end)
for i = 1, #curNPCList do
if curNPCList[i] then
curNPCList[i].leader.transform:SetSiblingIndex(i)
end
end
PlayerManager.MainPanelRoleMonveState = false
end
end
end
return MainPanel

View File

@ -121,12 +121,12 @@ function MainPlayerView:SetRolePos(pos, delay, func)
local dis = Vector2.Distance(pos, self.lastPos)
local leaderTran = self.leader:GetComponent("RectTransform")
local ov2 = leaderTran.anchoredPosition
self.tweener = DoTween.To(DG.Tweening.Core.DOGetter_float( function () return 0 end),
DG.Tweening.Core.DOSetter_float(function (progress)
local v2 = Vector2.Lerp(ov2, pos, progress)
leaderTran.anchoredPosition = v2
self:SetRolePosZ(v2)
PlayerManager.MainPanelRoleMonveState = true
end), 1, dis / 200):SetEase(Ease.Linear):SetDelay(delay):SetEase(Ease.Linear):OnComplete(function ()
self.lastPos = pos
self:PlayerIdle()

View File

@ -32,7 +32,7 @@ this.now_index = 0
--头像框数据
this.headFrameList = {}
this.MainPanelRoleMonveState = false
local update = function()
local dt = Time.unscaledDeltaTime
this.serverTime = this.serverTime + dt