From 8c1184fced045f133de6cc7fe55deb38e1884812 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期六, 13 四月 2019 11:30:50 +0800
Subject: [PATCH] Merge branch 'master' into HazyRegion

---
 System/MainWin/SkillContainer.cs |  108 ++++++++++++++++++++++++++++-------------------------
 1 files changed, 57 insertions(+), 51 deletions(-)

diff --git a/System/MainWin/SkillContainer.cs b/System/MainWin/SkillContainer.cs
index 76d8544..8ff1f2a 100644
--- a/System/MainWin/SkillContainer.cs
+++ b/System/MainWin/SkillContainer.cs
@@ -3,7 +3,6 @@
 //    [  Date ]:           Saturday, September 02, 2017
 //--------------------------------------------------------
 using UnityEngine;
-
 using UnityEngine.UI;
 using System.Collections.Generic;
 
@@ -49,7 +48,7 @@
         public SkillButton skillXP { get { return m_SkillXP; } }
 
         const int SKILL_COUNT_MAX = 8;
-        Dictionary<int, PlayerSkillData> indexSkillDataDict = new Dictionary<int, PlayerSkillData>();
+        Dictionary<int, int> indexSkillDataDict = new Dictionary<int, int>();
 
         public void Init()
         {
@@ -77,6 +76,7 @@
             m_Skill7.AddUpListener(PrepareCastSkill7);
             m_SkillXP.AddUpListener(PrepareCastSkillXp);
 
+            MainWinSkillController.Instance.InitSkill();
             OnSkillRefresh();
             HandleAchievement();
             PlayerSkillDatas.OnRefreshSkill += OnSkillRefresh;
@@ -95,7 +95,18 @@
             m_Skill5.RemoveAllListeners();
             m_Skill6.RemoveAllListeners();
             m_Skill7.RemoveAllListeners();
-            skillXP.RemoveAllListeners();
+            skillXP.RemoveAllListeners();
+
+            m_BlinkSkill.Dispose();
+            m_Skill1.Dispose();
+            m_Skill2.Dispose();
+            m_Skill3.Dispose();
+            m_Skill4.Dispose();
+            m_Skill5.Dispose();
+            m_Skill6.Dispose();
+            m_Skill7.Dispose();
+            skillXP.Dispose();
+
             PlayerSkillDatas.OnRefreshSkill -= OnSkillRefresh;
             if (AchievementGoto.achievementType == AchievementGoto.ExcuteSkill)
             {
@@ -107,22 +118,25 @@
         {
             for (int i = 0; i < SKILL_COUNT_MAX; i++)
             {
-                indexSkillDataDict[i] = PlayerDatas.Instance.skill.GetQuickSkillByPos(i);
+                var skillData = PlayerDatas.Instance.skill.GetQuickSkillByPos(i);
+                indexSkillDataDict[i] = skillData == null ? 0 : skillData.id;
             }
 
-            m_Skill1.SetSkillData(indexSkillDataDict[0]);
-            m_Skill2.SetSkillData(indexSkillDataDict[1]);
-            m_Skill3.SetSkillData(indexSkillDataDict[2]);
-            m_Skill4.SetSkillData(indexSkillDataDict[3]);
-            m_Skill5.SetSkillData(indexSkillDataDict[4]);
-            m_Skill6.SetSkillData(indexSkillDataDict[5]);
-            m_Skill7.SetSkillData(indexSkillDataDict[6]);
+            m_Skill1.Initialize(indexSkillDataDict[0]);
+            m_Skill2.Initialize(indexSkillDataDict[1]);
+            m_Skill3.Initialize(indexSkillDataDict[2]);
+            m_Skill4.Initialize(indexSkillDataDict[3]);
+            m_Skill5.Initialize(indexSkillDataDict[4]);
+            m_Skill6.Initialize(indexSkillDataDict[5]);
+            m_Skill7.Initialize(indexSkillDataDict[6]);
 
-            m_BlinkSkill.SetSkillData(PlayerDatas.Instance.skill.GetSKillById(190));
+            var blinkSkillData = PlayerDatas.Instance.skill.GetSKillById(190);
+            m_BlinkSkill.Initialize(blinkSkillData == null ? 0 : blinkSkillData.id);
 
             var model = ModelCenter.Instance.GetModel<SkillModel>();
-            var skillXpId = model.GetXpSkillID();
-            m_SkillXP.SetSkillData(PlayerDatas.Instance.skill.GetSKillById(skillXpId));          
+            var skillXpId = model.GetXpSkillID();
+            var skillXpData = PlayerDatas.Instance.skill.GetSKillById(skillXpId);
+            m_SkillXP.Initialize(skillXpData != null ? skillXpId : 0);
         }
 
         void SwitchTarget()
@@ -154,86 +168,79 @@
 
         void CastSkill1()
         {
-            if (indexSkillDataDict[0] == null)
+            if (indexSkillDataDict[0] == 0)
             {
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
 
-            DoCastSkill(indexSkillDataDict[0].id);
-
+            DoCastSkill(indexSkillDataDict[0]);
         }
 
         void CastSkill2()
         {
-
-            if (indexSkillDataDict[1] == null)
+            if (indexSkillDataDict[1] == 0)
             {
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
 
-            DoCastSkill(indexSkillDataDict[1].id);
+            DoCastSkill(indexSkillDataDict[1]);
         }
 
         void CastSkill3()
         {
-
-            if (indexSkillDataDict[2] == null)
+            if (indexSkillDataDict[2] == 0)
             {
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
 
-            DoCastSkill(indexSkillDataDict[2].id);
+            DoCastSkill(indexSkillDataDict[2]);
         }
 
         void CastSkill4()
         {
-
-            if (indexSkillDataDict[3] == null)
+            if (indexSkillDataDict[3] == 0)
             {
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
 
-            DoCastSkill(indexSkillDataDict[3].id);
+            DoCastSkill(indexSkillDataDict[3]);
         }
 
         void CastSkill5()
         {
-
-            if (indexSkillDataDict[4] == null)
+            if (indexSkillDataDict[4] == 0)
             {
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
 
-            DoCastSkill(indexSkillDataDict[4].id);
+            DoCastSkill(indexSkillDataDict[4]);
         }
 
         void CastSkill6()
         {
-
-            if (indexSkillDataDict[5] == null)
+            if (indexSkillDataDict[5] == 0)
             {
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
 
-            DoCastSkill(indexSkillDataDict[5].id);
+            DoCastSkill(indexSkillDataDict[5]);
         }
 
         void CastSkill7()
         {
-
-            if (indexSkillDataDict[6] == null)
+            if (indexSkillDataDict[6] == 0)
             {
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
 
-            DoCastSkill(indexSkillDataDict[6].id);
+            DoCastSkill(indexSkillDataDict[6]);
         }
 
         void CastSkillXp()
@@ -245,86 +252,85 @@
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
-            DoCastSkill(skillXpId);          
+            DoCastSkill(skillXpId);
         }
 
         void PrepareCastSkill1()
         {
-            if (indexSkillDataDict[0] == null)
+            if (indexSkillDataDict[0] == 0)
             {
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
 
-            DoPrepareCast(indexSkillDataDict[0].id);
+            DoPrepareCast(indexSkillDataDict[0]);
         }
 
         void PrepareCastSkill2()
         {
 
-            if (indexSkillDataDict[1] == null)
+            if (indexSkillDataDict[1] == 0)
             {
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
 
-            DoPrepareCast(indexSkillDataDict[1].id);
+            DoPrepareCast(indexSkillDataDict[1]);
         }
 
         void PrepareCastSkill3()
         {
-
-            if (indexSkillDataDict[2] == null)
+            if (indexSkillDataDict[2] == 0)
             {
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
 
-            DoPrepareCast(indexSkillDataDict[2].id);
+            DoPrepareCast(indexSkillDataDict[2]);
         }
 
         void PrepareCastSkill4()
         {
-            if (indexSkillDataDict[3] == null)
+            if (indexSkillDataDict[3] == 0)
             {
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
 
-            DoPrepareCast(indexSkillDataDict[3].id);
+            DoPrepareCast(indexSkillDataDict[3]);
         }
 
         void PrepareCastSkill5()
         {
-            if (indexSkillDataDict[4] == null)
+            if (indexSkillDataDict[4] == 0)
             {
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
 
-            DoPrepareCast(indexSkillDataDict[4].id);
+            DoPrepareCast(indexSkillDataDict[4]);
         }
 
         void PrepareCastSkill6()
         {
-            if (indexSkillDataDict[5] == null)
+            if (indexSkillDataDict[5] == 0)
             {
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
 
-            DoPrepareCast(indexSkillDataDict[5].id);
+            DoPrepareCast(indexSkillDataDict[5]);
         }
 
         void PrepareCastSkill7()
         {
-            if (indexSkillDataDict[6] == null)
+            if (indexSkillDataDict[6] == 0)
             {
                 DebugEx.Log("鎶�鑳芥湭瑙i攣");
                 return;
             }
 
-            DoPrepareCast(indexSkillDataDict[6].id);
+            DoPrepareCast(indexSkillDataDict[6]);
         }
 
         void PrepareCastSkillXp()

--
Gitblit v1.8.0