From 4ddb4556bde9483379cb1a56025c95dfb008192d Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期三, 19 九月 2018 17:16:07 +0800
Subject: [PATCH] 1871天赋功能

---
 System/Skill/TalentWin.cs |  104 ++++++++++++++++++++--------------------------------
 1 files changed, 40 insertions(+), 64 deletions(-)

diff --git a/System/Skill/TalentWin.cs b/System/Skill/TalentWin.cs
index 81c3763..addb72e 100644
--- a/System/Skill/TalentWin.cs
+++ b/System/Skill/TalentWin.cs
@@ -14,13 +14,8 @@
 
     public class TalentWin : Window
     {
-        [SerializeField] TalentButtonBehaviour m_TalentAtkBehaviour;
-        [SerializeField] TalentButtonBehaviour m_TalentDefBehaviour;
-        [SerializeField] TalentButtonBehaviour m_TalentGeneralBehaviour;
-
-        [SerializeField] TalentSkillScriptableObject m_TalentAtkConfig;
-        [SerializeField] TalentSkillScriptableObject m_TalentDefConfig;
-        [SerializeField] TalentSkillScriptableObject m_TalentGeneralConfig;
+        [SerializeField] TalentButtonBehaviour[] m_TalentButtons;
+        [SerializeField] TalentTreeBehaviour[] m_TalentTrees;
 
         [SerializeField] RectTransform m_ContainerSelect;
 
@@ -28,9 +23,7 @@
         [SerializeField] Text m_TalentSeries;
 
         [SerializeField] ScrollRect m_SkillScroller;
-        [SerializeField] RectTransform m_SkillContent;
         [SerializeField] TalentSkillBehaviour[] m_SkillBehaviours;
-        [SerializeField] Image[] m_Arrows;
 
         [SerializeField] RectTransform m_ContainerSelectSkill;
         [SerializeField] Image m_SelectSkillIcon;
@@ -84,9 +77,10 @@
             model.OnSelectSkillEvent -= OnSelectSkillEvent;
             model.talentSkillUpdate -= TalentSkillUpdate;
             model.talentPointUpdate -= TalentPointUpdate;
-            m_TalentAtkBehaviour.Dispose();
-            m_TalentDefBehaviour.Dispose();
-            m_TalentGeneralBehaviour.Dispose();
+            for (int i = 0; i < m_TalentButtons.Length; i++)
+            {
+                m_TalentButtons[i].Dispose();
+            }
 
             for (int i = 0; i < m_SkillBehaviours.Length; i++)
             {
@@ -101,9 +95,10 @@
 
         void Display()
         {
-            m_TalentAtkBehaviour.Display(model.selectSeries, 1);
-            m_TalentDefBehaviour.Display(model.selectSeries, 2);
-            m_TalentGeneralBehaviour.Display(model.selectSeries, 3);
+            for (int i = 0; i < m_TalentButtons.Length; i++)
+            {
+                m_TalentButtons[i].Display(model.selectSeries);
+            }
 
             DisplaySkills();
             DisplaySeries();
@@ -113,30 +108,29 @@
 
         void DisplaySkills()
         {
-            var job = PlayerDatas.Instance.baseData.Job;
-            List<int> talentSkills;
-            model.TryGetTalents(job, model.selectSeries, model.selectTalentType, out talentSkills);
-            var config = model.selectTalentType == 1 ? m_TalentAtkConfig : model.selectTalentType == 2 ?
-                m_TalentDefConfig : m_TalentGeneralConfig;
-            m_SkillScroller.verticalNormalizedPosition = 1;
-            m_SkillContent.sizeDelta = m_SkillContent.sizeDelta.SetY(config == null ? 0 : config.contentHeight);
-            for (int i = 0; i < m_SkillBehaviours.Length; i++)
-            {
-                if (talentSkills != null && i < talentSkills.Count)
-                {
-                    m_SkillBehaviours[i].gameObject.SetActive(true);
-                    var position = config == null ? Vector3.zero : config.GetSkillPosition(i);
-                    m_SkillBehaviours[i].transform.localPosition = position;
-                    m_SkillBehaviours[i].Display(talentSkills[i]);
-                }
-                else
-                {
-                    m_SkillBehaviours[i].Dispose();
-                    m_SkillBehaviours[i].gameObject.SetActive(false);
-                }
-            }
-
-            model.selectSkill = talentSkills != null ? talentSkills[0] : 0;
+            //var job = PlayerDatas.Instance.baseData.Job;
+            //List<int> talentSkills;
+            //model.TryGetTalents(job, model.selectSeries, model.selectTalentType, out talentSkills);
+            //var config = model.selectTalentType == 1 ? m_TalentAtkConfig : model.selectTalentType == 2 ?
+            //    m_TalentDefConfig : m_TalentGeneralConfig;
+            //m_SkillScroller.verticalNormalizedPosition = 1;
+            //for (int i = 0; i < m_SkillBehaviours.Length; i++)
+            //{
+            //    if (talentSkills != null && i < talentSkills.Count)
+            //    {
+            //        m_SkillBehaviours[i].gameObject.SetActive(true);
+            //        var position = config == null ? Vector3.zero : config.GetSkillPosition(i);
+            //        m_SkillBehaviours[i].transform.localPosition = position;
+            //        m_SkillBehaviours[i].Display(talentSkills[i]);
+            //    }
+            //    else
+            //    {
+            //        m_SkillBehaviours[i].Dispose();
+            //        m_SkillBehaviours[i].gameObject.SetActive(false);
+            //    }
+            //}
+            //
+            //model.selectSkill = talentSkills != null ? talentSkills[0] : 0;
         }
 
         void DisplaySeries()
@@ -182,13 +176,13 @@
             var index = 0;
             if (model.TryGetTalent(model.selectSkill, out talent))
             {
-                var talentConfig = ConfigManager.Instance.GetTemplate<TalentConfig>(talent.skillId + talent.level);
-                var skillConfig = ConfigManager.Instance.GetTemplate<SkillConfig>(talent.skillId + talent.level);
+                var talentConfig = Config.Instance.Get<TalentConfig>(talent.skillId + talent.level);
+                var skillConfig = Config.Instance.Get<SkillConfig>(talent.skillId + talent.level);
                 if (talentConfig != null)
                 {
                     if (talentConfig.property != 0 && index < m_SelectConditions.Length)
                     {
-                        var propertyConfig = ConfigManager.Instance.GetTemplate<PlayerPropertyConfig>(talentConfig.property);
+                        var propertyConfig = Config.Instance.Get<PlayerPropertyConfig>(talentConfig.property);
                         m_SelectConditions[index].gameObject.SetActive(true);
                         m_SelectConditions[index].text = StringUtility.Contact(
                             string.Format("闇�瑕亄0}鐐癸細", propertyConfig.Name),
@@ -209,7 +203,7 @@
                     TalentSkill learnTalent;
                     if (skillConfig.LearnSkillReq != 0 && model.TryGetTalent(skillConfig.LearnSkillReq, out learnTalent))
                     {
-                        var learnSkillConfig = ConfigManager.Instance.GetTemplate<SkillConfig>(skillConfig.LearnSkillReq);
+                        var learnSkillConfig = Config.Instance.Get<SkillConfig>(skillConfig.LearnSkillReq);
                         m_SelectConditions[index].gameObject.SetActive(true);
                         m_SelectConditions[index].text = StringUtility.Contact(
                             "鍓嶇疆澶╄祴锛� ", learnSkillConfig.SkillName, " ",
@@ -232,7 +226,7 @@
             if (model.TryGetTalent(model.selectSkill, out talent))
             {
                 m_ContainerSelectSkill.gameObject.SetActive(true);
-                var config = ConfigManager.Instance.GetTemplate<SkillConfig>(talent.skillId + talent.level);
+                var config = Config.Instance.Get<SkillConfig>(talent.skillId + talent.level);
                 m_SelectSkillIcon.SetSprite(config.IconName);
                 m_SelectSkillLevel.text = StringUtility.Contact(talent.level, "/", talent.max);
                 m_SelectSkillName.text = config.SkillName;
@@ -244,12 +238,12 @@
             TalentSkill talent;
             if (model.TryGetTalent(model.selectSkill, out talent))
             {
-                var config = ConfigManager.Instance.GetTemplate<SkillConfig>(talent.skillId + talent.level);
+                var config = Config.Instance.Get<SkillConfig>(talent.skillId + talent.level);
                 m_SelectSkillEffect.text = config.Description;
                 m_ContainerNextEffect.gameObject.SetActive(talent.level < talent.max);
                 if (talent.level < talent.max)
                 {
-                    var nextConfig = ConfigManager.Instance.GetTemplate<SkillConfig>(talent.skillId + talent.level + 1);
+                    var nextConfig = Config.Instance.Get<SkillConfig>(talent.skillId + talent.level + 1);
                     m_SelectNextEffect.text = nextConfig.Description;
                 }
             }
@@ -314,25 +308,7 @@
         {
 
         }
-
-
-#if UNITY_EDITOR
-        [SerializeField] TalentSkillScriptableObject viewConfig;
-        [ContextMenu("棰勮閰嶇疆")]
-        void ViewPositionConfig()
-        {
-            if (viewConfig == null)
-            {
-                return;
-            }
-            for (int i = 0; i < m_SkillBehaviours.Length; i++)
-            {
-                m_SkillBehaviours[i].transform.localPosition = viewConfig.GetSkillPosition(i);
-            }
-        }
-#endif
     }
-
 }
 
 

--
Gitblit v1.8.0