From 5cdc8bb45069b50f1ff8f3abf16f2831622877b3 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 15 一月 2019 14:57:12 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
Core/GameEngine/Model/Player/PlayerDatas.cs | 79 ++++++++++++++++++++++++---------------
1 files changed, 49 insertions(+), 30 deletions(-)
diff --git a/Core/GameEngine/Model/Player/PlayerDatas.cs b/Core/GameEngine/Model/Player/PlayerDatas.cs
index b4ebc51..56a3a00 100644
--- a/Core/GameEngine/Model/Player/PlayerDatas.cs
+++ b/Core/GameEngine/Model/Player/PlayerDatas.cs
@@ -44,6 +44,7 @@
public uint worldExpRate { get; private set; }
public List<uint> maliciousAtkPlayer = new List<uint>();// 鍙戝姩鎭舵剰鏀诲嚮鐨勭帺瀹跺垪琛�
private int m_Tick;
+ private uint m_CrossServerTick;
public event Action OnRoleAttrRefresh;
public event Action<E_AttackMode> OnSwitchAttackMode;
@@ -452,31 +453,10 @@
case PlayerDataRefresh.BillboardLV:
break;
case PlayerDataRefresh.Tick:
- if (GameNetSystem.Instance.crossServerSocketConnected)
- {
- if (!isMainServerData)
- {
#if UNITY_EDITOR
- DebugEx.LogFormat("---- 鏀跺埌鏈嶅姟绔疶ick: {0}", value);
- if (extersion.Tick != 0)
- {
- uint _curWorldTick = GetWorldTick();
- uint _diffValue = value > _curWorldTick ? value - _curWorldTick : _curWorldTick - value;
- DebugEx.LogFormat(" |-------- 褰撳墠瀹㈡埛绔疶ick: {0}, 宸紓: {1}", _curWorldTick, _diffValue);
- if (_diffValue > 5000)
- {
- DebugEx.LogFormat(" |-------- <color=red>鏀跺埌鏈嶅姟绔疻orldTick涓庡綋鍓嶇殑瀹㈡埛绔疶ick宸紓瓒呰繃5绉�</color>");
- }
- }
-#endif
- extersion.Tick = value;
- m_Tick = Environment.TickCount;
- }
- }
- else
+ DebugEx.LogFormat("---- 鏀跺埌鏈嶅姟绔疶ick: {0}", value);
+ if (isMainServerData)
{
-#if UNITY_EDITOR
- DebugEx.LogFormat("---- 鏀跺埌鏈嶅姟绔疶ick: {0}", value);
if (extersion.Tick != 0)
{
uint _curWorldTick = GetWorldTick();
@@ -487,10 +467,31 @@
DebugEx.LogFormat(" |-------- <color=red>鏀跺埌鏈嶅姟绔疻orldTick涓庡綋鍓嶇殑瀹㈡埛绔疶ick宸紓瓒呰繃5绉�</color>");
}
}
-#endif
- extersion.Tick = value;
- m_Tick = Environment.TickCount;
}
+ else
+ {
+ if (m_CrossServerTick != 0)
+ {
+ uint _curWorldTick = GetWorldTick();
+ uint _diffValue = value > _curWorldTick ? value - _curWorldTick : _curWorldTick - value;
+ DebugEx.LogFormat(" |-------- 褰撳墠瀹㈡埛绔疶ick: {0}, 宸紓: {1}", _curWorldTick, _diffValue);
+ if (_diffValue > 5000)
+ {
+ DebugEx.LogFormat(" |-------- <color=red>鏀跺埌鏈嶅姟绔疻orldTick涓庡綋鍓嶇殑瀹㈡埛绔疶ick宸紓瓒呰繃5绉�</color>");
+ }
+ }
+ }
+#endif
+ if (isMainServerData)
+ {
+ extersion.Tick = value;
+ }
+ else
+ {
+ m_CrossServerTick = value;
+ }
+ m_Tick = Environment.TickCount;
+
break;
case PlayerDataRefresh.CurrentPlayerType:
break;
@@ -983,20 +984,38 @@
public void RequestWorldTick()
{
CA102_tagCMWorldTick _proto = new CA102_tagCMWorldTick();
- if (!GameNetSystem.Instance.crossServerSocketConnected)
+ if (CrossServerUtility.IsCrossServer())
{
- GameNetSystem.Instance.SendInfo(_proto);
+ GameNetSystem.Instance.SendToCrossServer(_proto);
}
else
{
- GameNetSystem.Instance.SendToCrossServer(_proto);
+ GameNetSystem.Instance.SendInfo(_proto);
+ }
+ }
+
+ public void ClearTick()
+ {
+ extersion.Tick = 0;
+ m_CrossServerTick = 0;
+ }
+
+ public bool IsTickVaild()
+ {
+ if (CrossServerUtility.IsCrossServer())
+ {
+ return m_CrossServerTick != 0;
+ }
+ else
+ {
+ return extersion.Tick != 0;
}
}
public uint GetWorldTick()
{
int _currentTick = Environment.TickCount - m_Tick;
- uint _tick = extersion.Tick + (uint)_currentTick;
+ uint _tick = CrossServerUtility.IsCrossServer() ? m_CrossServerTick + (uint)_currentTick : extersion.Tick + (uint)_currentTick;
return _tick;
}
--
Gitblit v1.8.0