From 49a42c9c44dc80e4378c0129179c706bd2d9ef2b Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 09 十月 2018 11:25:51 +0800
Subject: [PATCH] 4047 【前端】【主干】【1.0.18】法宝潜力红点最优解优化

---
 System/Treasure/TreasureModel.cs      |    9 +++++++++
 System/Treasure/TreasureLevelUpWin.cs |   19 +++++++++++--------
 2 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/System/Treasure/TreasureLevelUpWin.cs b/System/Treasure/TreasureLevelUpWin.cs
index 5b70a10..b53d92d 100644
--- a/System/Treasure/TreasureLevelUpWin.cs
+++ b/System/Treasure/TreasureLevelUpWin.cs
@@ -169,6 +169,7 @@
             m_Slider.slider.onValueChanged.AddListener(OnSliderValueUpdate);
             NewBieCenter.Instance.guideCompletedEvent += GuideCompletedEvent;
             FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
+            model.skillLevelUpRedpointUpdate += SkillLevelUpRedpointUpdate;
             m_DragSelect.onDragComplete += onDragComplete;
 
             CameraManager.uiCamera.enabled = true;
@@ -215,6 +216,7 @@
             model.treasureStateChangeEvent -= TreasureStateChangeEvent;
             FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
             m_DragSelect.onDragComplete -= onDragComplete;
+            model.skillLevelUpRedpointUpdate -= SkillLevelUpRedpointUpdate;
             m_Slider.slider.onValueChanged.RemoveAllListeners();
             m_TreasurePotential.Dispose();
             m_AchievementScroll.Dispose();
@@ -1203,14 +1205,15 @@
                     UpdateLevelUpSfx(false);
                 }
             }
-            if (_id == TreasureModel.CATEGORY_REDPOINTIDS[(int)TreasureCategory.Human - 1])
-            {
-                var skillLevelUpRedpointTreasure = model.GetSkillLevelUpRedpointTreasure();
-                m_LeftRedpoint.gameObject.SetActive(skillLevelUpRedpointTreasure != 0
-                    && model.selectedTreasure > skillLevelUpRedpointTreasure && model.currentCategory == TreasureCategory.Human);
-                m_RightRedpoint.gameObject.SetActive(skillLevelUpRedpointTreasure != 0
-                    && model.selectedTreasure < skillLevelUpRedpointTreasure && model.currentCategory == TreasureCategory.Human);
-            }
+        }
+
+        private void SkillLevelUpRedpointUpdate()
+        {
+            var skillLevelUpRedpointTreasure = model.GetSkillLevelUpRedpointTreasure();
+            m_LeftRedpoint.gameObject.SetActive(skillLevelUpRedpointTreasure != 0
+                && model.selectedTreasure > skillLevelUpRedpointTreasure && model.currentCategory == TreasureCategory.Human);
+            m_RightRedpoint.gameObject.SetActive(skillLevelUpRedpointTreasure != 0
+                && model.selectedTreasure < skillLevelUpRedpointTreasure && model.currentCategory == TreasureCategory.Human);
         }
 
         protected override void LateUpdate()
diff --git a/System/Treasure/TreasureModel.cs b/System/Treasure/TreasureModel.cs
index ba7d694..f4873b4 100644
--- a/System/Treasure/TreasureModel.cs
+++ b/System/Treasure/TreasureModel.cs
@@ -45,6 +45,7 @@
         public event Action<int> treasureLevelProgressUpdateEvent;
         public event Action<int> treasureStageUpEvent;
         public event Action<int> humanTreasureStateChangeEvent;
+        public event Action skillLevelUpRedpointUpdate;
 
         bool m_WaitOpenDetailsWin = false;
         public bool waitOpenDetailsWin {
@@ -842,6 +843,10 @@
                             {
                                 treasure.skillLevelUpRedpoint.state = RedPointState.Simple;
                                 treasure.autoSelectPotential = k;
+                                if (skillLevelUpRedpointUpdate != null)
+                                {
+                                    skillLevelUpRedpointUpdate();
+                                }
                                 return;
                             }
                         }
@@ -897,6 +902,10 @@
                     treasures[minCostTreasure].autoSelectPotential = minCostPotentialIndex;
                 }
             }
+            if (skillLevelUpRedpointUpdate != null)
+            {
+                skillLevelUpRedpointUpdate();
+            }
         }
 
         public int GetSkillLevelUpRedpointTreasure()

--
Gitblit v1.8.0