少年修仙传客户端代码仓库
client_linchunjie
2019-01-15 5cdc8bb45069b50f1ff8f3abf16f2831622877b3
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
7个文件已修改
99 ■■■■■ 已修改文件
Core/GameEngine/Model/Player/PlayerDatas.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/UserInputHandler.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActor.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActorFight.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/MapTransferUtility.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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("---- 收到服务端Tick: {0}", value);
                        if (extersion.Tick != 0)
                        {
                            uint _curWorldTick = GetWorldTick();
                            uint _diffValue = value > _curWorldTick ? value - _curWorldTick : _curWorldTick - value;
                            DebugEx.LogFormat(" |-------- 当前客户端Tick: {0}, 差异: {1}", _curWorldTick, _diffValue);
                            if (_diffValue > 5000)
                            {
                                DebugEx.LogFormat(" |-------- <color=red>收到服务端WorldTick与当前的客户端Tick差异超过5秒</color>");
                            }
                        }
#endif
                        extersion.Tick = value;
                        m_Tick = Environment.TickCount;
                    }
                }
                else
                DebugEx.LogFormat("---- 收到服务端Tick: {0}", value);
                if (isMainServerData)
                {
#if UNITY_EDITOR
                    DebugEx.LogFormat("---- 收到服务端Tick: {0}", value);
                    if (extersion.Tick != 0)
                    {
                        uint _curWorldTick = GetWorldTick();
@@ -487,10 +467,31 @@
                            DebugEx.LogFormat(" |-------- <color=red>收到服务端WorldTick与当前的客户端Tick差异超过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(" |-------- 当前客户端Tick: {0}, 差异: {1}", _curWorldTick, _diffValue);
                        if (_diffValue > 5000)
                        {
                            DebugEx.LogFormat(" |-------- <color=red>收到服务端WorldTick与当前的客户端Tick差异超过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;
    }
Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
@@ -53,6 +53,7 @@
        }
        PlayerDatas.Instance.InitPlayerData(vNetData);
        PlayerDatas.Instance.RequestWorldTick();
        SDKUtility.Instance.RoleLogin(vNetData.PlayerID.ToString(),
                                      vNetData.PlayerName,
@@ -242,6 +243,8 @@
        DEBUG_STEP = 9;
        StageLoadTimeOutCatcher.RecordProtocol(vNetPack.socketType, "0102", DateTime.Now);
        GA_Hero.s_MapSwitching = true;
    }
}
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs
@@ -78,7 +78,6 @@
            }
        }
        PlayerDatas.Instance.RequestWorldTick();
        MapTransferUtility.Instance.CheckMap(PlayerDatas.Instance.baseData.MapID);
        GA_Hero.s_MapSwitching = false;
Fight/Actor/UserInputHandler.cs
@@ -396,7 +396,7 @@
            _b409.Dir = (ushort)(_hero.Root.transform.eulerAngles.y * 100);
        }
        if (GameNetSystem.Instance.crossServerSocketConnected)
        if (CrossServerUtility.IsCrossServer())
        {
            GameNetSystem.Instance.SendToCrossServer(_b409);
        }
Fight/GameActor/GActor.cs
@@ -32,7 +32,7 @@
            {
                m_Root.position = m_Pos;
            }
            //if (this is GA_NpcFightNorm)
            //if (this is GA_Hero)
            //{
            //    Debug.Log("坐标改变.....: " + value);
            //}
@@ -426,7 +426,8 @@
        if (State == E_ActorState.AutoRun
         && PathFindStatus == E_PathFindStatus.Moving
         && m_Path.corners != null && m_Path.corners.Length > 0
         && !ActorInfo.serverDie)
         && !ActorInfo.serverDie
         && PlayerDatas.Instance.IsTickVaild())
        {
            if (m_CornerIndex > m_Path.corners.Length - 1)
            {
Fight/GameActor/GActorFight.cs
@@ -22,6 +22,10 @@
                return;
            }
            m_PrevPos = value;
            //if (ServerInstID == PlayerDatas.Instance.PlayerId)
            //{
            //    Debug.Log("设置PrePos: " + m_PrevPos);
            //}
        }
    }
Fight/MapTransferUtility.cs
@@ -956,7 +956,10 @@
                {
                    if (NpcID != GeneralDefine.GatherSoulDZ)
                    {
                        NPCInteractProcessor.InvokeEvent(E_NpcType.Func, NpcID, _npc.ServerInstID);
                        if (_npc != null)
                        {
                            NPCInteractProcessor.InvokeEvent(E_NpcType.Func, NpcID, _npc.ServerInstID);
                        }
                    }
                    Clear();
                }