hch
2025-06-18 c60913b816a5d3e132ba17b9353df7ad7d1e6e4e
Main/Core/GameEngine/Player/PlayerDatas.cs
@@ -14,7 +14,8 @@
    PlayerExtersionData m_Extersion = new PlayerExtersionData();
    public PlayerExtersionData extersion { get { return m_Extersion; } }
    // public PlayerFairyData fairyData = new PlayerFairyData();
    //仙盟
    public PlayerFairyData fairyData = new PlayerFairyData();
    // PlayerSkillDatas m_Skill = new PlayerSkillDatas();
    // public PlayerSkillDatas skill { get { return m_Skill; } }
@@ -40,11 +41,11 @@
    private Dictionary<PlayerDataType, ulong> PlayerDataDict = new Dictionary<PlayerDataType, ulong>();
    public void InitPlayerData(H0102_tagCDBPlayer data)
    {
        baseData.UpdateData(data);
        if (playerDataUpdateEvent != null)
        {
            playerDataUpdateEvent();
    {
        baseData.UpdateData(data);
        if (playerDataUpdateEvent != null)
        {
            playerDataUpdateEvent();
        }
    }
@@ -79,35 +80,35 @@
    }
    public void RefreshPlayerData(H0418_tagObjInfoRefresh vNetData)
    {
        UpdatePlayerData(vNetData);
        //StoreModel.RefreshTCBPlayerData(vNetData);
        if (playerDataUpdateEvent != null)
        {
            playerDataUpdateEvent();
    {
        UpdatePlayerData(vNetData);
        //StoreModel.RefreshTCBPlayerData(vNetData);
        if (playerDataUpdateEvent != null)
        {
            playerDataUpdateEvent();
        }
    }
    private void UpdatePlayerData(H0418_tagObjInfoRefresh vNetData)
    {
        if (baseData != null && vNetData.ObjID == baseData.PlayerID)
        {
            RefreshProperty((PlayerDataType)vNetData.RefreshType, vNetData.Value, vNetData.ValueEx);
            if (PlayerDataDict.ContainsKey((PlayerDataType)vNetData.RefreshType))
            {
                PlayerDataDict[(PlayerDataType)vNetData.RefreshType] = vNetData.Value + vNetData.ValueEx * Constants.ExpPointValue;
            }
            else
            {
                PlayerDataDict.Add((PlayerDataType)vNetData.RefreshType, vNetData.Value + vNetData.ValueEx * Constants.ExpPointValue);
            }
            if (playerDataRefreshEvent != null)
            {
                playerDataRefreshEvent((PlayerDataType)vNetData.RefreshType);
            }
    {
        if (baseData != null && vNetData.ObjID == baseData.PlayerID)
        {
            RefreshProperty((PlayerDataType)vNetData.RefreshType, vNetData.Value, vNetData.ValueEx);
            if (PlayerDataDict.ContainsKey((PlayerDataType)vNetData.RefreshType))
            {
                PlayerDataDict[(PlayerDataType)vNetData.RefreshType] = vNetData.Value + vNetData.ValueEx * Constants.ExpPointValue;
            }
            else
            {
                PlayerDataDict.Add((PlayerDataType)vNetData.RefreshType, vNetData.Value + vNetData.ValueEx * Constants.ExpPointValue);
            }
            if (playerDataRefreshEvent != null)
            {
                playerDataRefreshEvent((PlayerDataType)vNetData.RefreshType);
            }
        }
    }
@@ -239,16 +240,16 @@
                break;
            case PlayerDataType.Tick:
#if UNITY_EDITOR
                Debug.LogFormat("---- 收到服务端Tick: {0}", value);
                if (extersion.Tick != 0)
                {
                    uint _curWorldTick = GetWorldTick();
                    uint _diffValue = value > _curWorldTick ? value - _curWorldTick : _curWorldTick - value;
                    Debug.LogFormat(" |-------- 当前客户端Tick: {0}, 差异: {1}", _curWorldTick, _diffValue);
                    if (_diffValue > 5000)
                    {
                        Debug.LogFormat(" |-------- <color=red>收到服务端WorldTick与当前的客户端Tick差异超过5秒</color>");
                    }
                Debug.LogFormat("---- 收到服务端Tick: {0}", value);
                if (extersion.Tick != 0)
                {
                    uint _curWorldTick = GetWorldTick();
                    uint _diffValue = value > _curWorldTick ? value - _curWorldTick : _curWorldTick - value;
                    Debug.LogFormat(" |-------- 当前客户端Tick: {0}, 差异: {1}", _curWorldTick, _diffValue);
                    if (_diffValue > 5000)
                    {
                        Debug.LogFormat(" |-------- <color=red>收到服务端WorldTick与当前的客户端Tick差异超过5秒</color>");
                    }
                }
#endif
                extersion.Tick = value;
@@ -637,8 +638,8 @@
    }
    public void RequestWorldTick()
    {
        CA102_tagCMWorldTick _proto = new CA102_tagCMWorldTick();
    {
        CA102_tagCMWorldTick _proto = new CA102_tagCMWorldTick();
        GameNetSystem.Instance.SendInfo(_proto);
    }