From 0604b8ec6ca8307c2ee12effa0bc710fa65bc5d8 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期三, 26 九月 2018 19:36:08 +0800
Subject: [PATCH] 3687 天赋功能

---
 System/Skill/TalentModel.cs                                   |   15 ++++++++++++---
 Utility/EnumHelper.cs                                         |    1 +
 Core/GameEngine/Model/Player/PlayerDatas.cs                   |    3 +++
 Core/GameEngine/Model/Player/Character/PlayerExtersionData.cs |    1 +
 System/Skill/TalentWin.cs                                     |    6 ++++++
 5 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/Core/GameEngine/Model/Player/Character/PlayerExtersionData.cs b/Core/GameEngine/Model/Player/Character/PlayerExtersionData.cs
index c9324aa..da15ddb 100644
--- a/Core/GameEngine/Model/Player/Character/PlayerExtersionData.cs
+++ b/Core/GameEngine/Model/Player/Character/PlayerExtersionData.cs
@@ -57,4 +57,5 @@
     public int forbidenTalk;
     public int NpcHurtAddPer;//瀵规�墿浼ゅ鍔犳垚 188
     public int FunalHurtPer;//瀵规�墿浼ゅ鍔犳垚 189
+    public int talentPoint;//澶╄祴鐐规暟 190
 }
diff --git a/Core/GameEngine/Model/Player/PlayerDatas.cs b/Core/GameEngine/Model/Player/PlayerDatas.cs
index 22981f3..8ac6e40 100644
--- a/Core/GameEngine/Model/Player/PlayerDatas.cs
+++ b/Core/GameEngine/Model/Player/PlayerDatas.cs
@@ -737,6 +737,9 @@
             case PlayerDataRefresh.CDBPlayerRefresh_ForbidenTalk:
                 extersion.forbidenTalk = (int)value;
                 break;
+            case PlayerDataRefresh.CDBPlayerRefresh_TalentPoint:
+                extersion.talentPoint = (int)value;
+                break;
         }
     }
 
diff --git a/System/Skill/TalentModel.cs b/System/Skill/TalentModel.cs
index 4044745..644b254 100644
--- a/System/Skill/TalentModel.cs
+++ b/System/Skill/TalentModel.cs
@@ -66,6 +66,7 @@
         {
             ParseConfig();
             FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
+            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent;
         }
 
         public void OnBeforePlayerDataInitialize()
@@ -74,6 +75,7 @@
             {
                 talent.level = 0;
             }
+            talentPoint = 0;
             serverInited = false;
         }
 
@@ -85,6 +87,7 @@
         public override void UnInit()
         {
             FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
+            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent;
         }
 
         private void OnFuncStateChangeEvent(int _id)
@@ -243,10 +246,16 @@
         #region 鏈嶅姟绔暟鎹�
         public int talentPoint { get; private set; }
 
-        public void UpdateTalent()
+        private void PlayerDataRefreshInfoEvent(PlayerDataRefresh refreshType)
         {
-
-            UpdateRedpoint();
+            if (refreshType == PlayerDataRefresh.CDBPlayerRefresh_TalentPoint)
+            {
+                talentPoint = PlayerDatas.Instance.extersion.talentPoint;
+                if (talentPointUpdate != null)
+                {
+                    talentPointUpdate();
+                }
+            }
         }
 
         public void UpdateTalentSkill(int _oldSkillId, int _newSkillId)
diff --git a/System/Skill/TalentWin.cs b/System/Skill/TalentWin.cs
index 6ec20eb..cd290fc 100644
--- a/System/Skill/TalentWin.cs
+++ b/System/Skill/TalentWin.cs
@@ -351,6 +351,12 @@
                     model.ProcessLevelUpError(error);
                     return;
                 }
+                else
+                {
+                    C0304_tagCAddSkillPoint pak = new C0304_tagCAddSkillPoint();
+                    pak.SkillID = (ushort)model.selectSkill;
+                    GameNetSystem.Instance.SendInfo(pak);
+                }
             }
         }
 
diff --git a/Utility/EnumHelper.cs b/Utility/EnumHelper.cs
index a9107df..b3a46d6 100644
--- a/Utility/EnumHelper.cs
+++ b/Utility/EnumHelper.cs
@@ -555,6 +555,7 @@
     CDBPlayerRefresh_Danjing = 187,              // 涓圭簿 187
     CDBPlayerRefresh_NPCHurtAddPer,//瀵规�墿浼ゅ鍔犳垚 188
     FunalHurtPer = 189,// 鏈�缁堜激瀹冲姞鎴�
+    CDBPlayerRefresh_TalentPoint = 190,
 };
 
 /** 鐗╁搧鍔犳垚绫诲瀷 */

--
Gitblit v1.8.0