| | |
| | | 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; } } |
| | |
| | | public event Action<long> spNewGetEvent; |
| | | |
| | | |
| | | private Dictionary<PlayerDataType, ulong> PlayerDataDict = new Dictionary<PlayerDataType, ulong>(); |
| | | private Dictionary<PlayerDataType, long> PlayerDataDict = new Dictionary<PlayerDataType, long>(); |
| | | |
| | | public void InitPlayerData(H0102_tagCDBPlayer data) |
| | | {
|
| | | baseData.UpdateData(data);
|
| | | if (playerDataUpdateEvent != null)
|
| | | {
|
| | | playerDataUpdateEvent();
|
| | | } |
| | | } |
| | | |
| | | public void UpdatePlayerData(/*HA112_tagMCDBPlayer data*/) |
| | | { |
| | | // baseData.UpdateData(data); |
| | | // if (hero != null) |
| | | // { |
| | | // hero.InitBornPos(baseData.PosX, baseData.PosY); |
| | | // CameraController.Instance.Apply(); |
| | | // } |
| | | |
| | | // if (playerDataUpdateEvent != null) |
| | | // { |
| | | // playerDataUpdateEvent(); |
| | | // } |
| | | } |
| | | |
| | | public void FightRefreshPlayerHp(ulong hp) |
| | | { |
| | | RefreshProperty(PlayerDataType.HP, (uint)(hp % Constants.ExpPointValue), (uint)(hp/Constants.ExpPointValue)); |
| | | |
| | | baseData.UpdateData(data); |
| | | if (playerDataUpdateEvent != null) |
| | | { |
| | | playerDataUpdateEvent(); |
| | | } |
| | | |
| | | if (playerDataRefreshEvent != null) |
| | | { |
| | | playerDataRefreshEvent(PlayerDataType.HP); |
| | | } |
| | | } |
| | | |
| | | public void RefreshPlayerData(H0418_tagObjInfoRefresh vNetData) |
| | | {
|
| | | UpdatePlayerData(vNetData);
|
| | | //StoreModel.RefreshTCBPlayerData(vNetData);
|
| | | if (playerDataUpdateEvent != null)
|
| | | {
|
| | | playerDataUpdateEvent();
|
| | | } |
| | | { |
| | | UpdatePlayerData(vNetData); |
| | | //StoreModel.RefreshTCBPlayerData(vNetData); |
| | | |
| | | } |
| | | |
| | | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | case PlayerDataType.Family: |
| | | baseData.FamilyId = value; |
| | | if (LocalSave.GetInt("FimilyReport" + PlayerDatas.Instance.baseData.PlayerID) == 0) |
| | | { |
| | | { |
| | | SDKUtils.Instance.TraceEvent("joinalliance", "", false); |
| | | LocalSave.SetInt("FimilyReport" + PlayerDatas.Instance.baseData.PlayerID, 1); |
| | | } |
| | |
| | | break; |
| | | case PlayerDataType.TeamLV: |
| | | break; |
| | | case PlayerDataType.UseHarmerCount: |
| | | baseData.UseHarmerCount = value; |
| | | break; |
| | | case PlayerDataType.FightPower: |
| | | baseData.FightPoint = value + valueEx * Constants.ExpPointValue; |
| | | // TODO YYL |
| | | // ModelCenter.Instance.GetModel<PlayerMainDate>().PowerAdd(baseData.FightPoint); |
| | | PlayerMainDate.Instance.prowNum = baseData.FightPower; |
| | | baseData.FightPower = value + valueEx * Constants.ExpPointValue; |
| | | PlayerMainDate.Instance.PowerAdd(baseData.FightPower); |
| | | 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; |
| | |
| | | extersion.luckValue = (int)value; |
| | | break; |
| | | case PlayerDataType.ExAttr1: |
| | | baseData.ExAttr1 = value; |
| | | baseData.ExAttr1 = Math.Max((int)value, 10100); //新号初始处理 |
| | | break; |
| | | case PlayerDataType.ExAttr2: |
| | | baseData.teamAutoOperateFlag = value; |
| | | baseData.ExAttr2 = Math.Max((int)value, 10101); //新号初始处理 |
| | | break; |
| | | case PlayerDataType.ExAttr3: |
| | | baseData.dungeonLineId = (int)value % 1000; |
| | |
| | | case PlayerDataType.ExAttr4: |
| | | baseData.shield = value; |
| | | break; |
| | | |
| | | |
| | | case PlayerDataType.Faction: |
| | | baseData.faction = value; |
| | | break; |
| | |
| | | case PlayerDataType.CDBPlayerRefresh_TalentPoint: |
| | | extersion.talentPoint = (int)value; |
| | | break; |
| | | |
| | | |
| | | case PlayerDataType.CDBPlayerRefresh_SoulDust: |
| | | extersion.soulDust = value; |
| | | break; |
| | |
| | | case PlayerDataType.default10: |
| | | baseData.leaveFamilyTime = (int)value; |
| | | break; |
| | | case PlayerDataType.Face: |
| | | baseData.face = (int)value; |
| | | break; |
| | | case PlayerDataType.FacePic: |
| | | baseData.facePic = (int)value; |
| | | break; |
| | | |
| | | } |
| | | } |
| | | |
| | | public ulong GetPlayerDataByType(PlayerDataType type) |
| | | public long GetPlayerDataByType(PlayerDataType type) |
| | | { |
| | | ulong value = 0; |
| | | long value = 0; |
| | | PlayerDataDict.TryGetValue(type, out value); |
| | | return value; |
| | | } |
| | |
| | | } |
| | | |
| | | public void RequestWorldTick() |
| | | {
|
| | | CA102_tagCMWorldTick _proto = new CA102_tagCMWorldTick();
|
| | | { |
| | | CA102_tagCMWorldTick _proto = new CA102_tagCMWorldTick(); |
| | | GameNetSystem.Instance.SendInfo(_proto); |
| | | } |
| | | |