From cdb6c9380182eb2db7d8fdf2759f85ed9b70cd4a Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期六, 27 十月 2018 11:51:53 +0800
Subject: [PATCH] 4388 【前端】【1.2】天赋满足升级的条件时,不置灰

---
 System/Skill/TalentSkillBehaviour.cs |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/System/Skill/TalentSkillBehaviour.cs b/System/Skill/TalentSkillBehaviour.cs
index 5a56986..b183436 100644
--- a/System/Skill/TalentSkillBehaviour.cs
+++ b/System/Skill/TalentSkillBehaviour.cs
@@ -30,6 +30,8 @@
             model.talentSkillUpdate += TalentSkillUpdate;
             model.selectSkillEvent -= OnSelectSkillEvent;
             model.selectSkillEvent += OnSelectSkillEvent;
+            model.talentPointUpdate -= TalentPointUpdate;
+            model.talentPointUpdate += TalentPointUpdate;
             Display();
         }
 
@@ -44,8 +46,19 @@
                     m_Icon.SetSprite(config.IconName);
                 }
                 m_Level.text = StringUtility.Contact(talent.level, "/", talent.maxLevel);
-                m_Icon.material = talent.level > 0 ? MaterialUtility.GetUIDefaultGraphicMaterial() : MaterialUtility.GetDefaultSpriteGrayMaterial();
+                DisplayState();
                 m_ContainerSelect.gameObject.SetActive(skillId == model.selectSkill);
+            }
+        }
+
+        private void DisplayState()
+        {
+            TalentSkill talent;
+            if (model.TryGetTalent(skillId, out talent))
+            {
+                var error = 0;
+                m_Icon.material = talent.level > 0 || model.SatisfyLevelUp(talent.skillId, out error) ?
+                    MaterialUtility.GetUIDefaultGraphicMaterial() : MaterialUtility.GetDefaultSpriteGrayMaterial();
             }
         }
 
@@ -54,6 +67,10 @@
             if (skillId == _skillid)
             {
                 Display();
+            }
+            else if (skillId != 0)
+            {
+                DisplayState();
             }
         }
 
@@ -66,6 +83,15 @@
         {
             model.talentSkillUpdate -= TalentSkillUpdate;
             model.selectSkillEvent -= OnSelectSkillEvent;
+            model.talentPointUpdate -= TalentPointUpdate;
+        }
+
+        private void TalentPointUpdate()
+        {
+            if (skillId != 0)
+            {
+                DisplayState();
+            }
         }
 
         private void SelectSkill()

--
Gitblit v1.8.0