From cee58bc4e8486faa17cc19a04213eb5e1e95dec8 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期四, 06 十二月 2018 16:04:28 +0800
Subject: [PATCH] 5272 【前端】【1.3.100】符印分解品质勾选按钮记录

---
 System/Rune/RuneBreakWin.cs |   16 +++++++---------
 System/Rune/RuneModel.cs    |   33 +++++++++++++++++++++++++++++++++
 2 files changed, 40 insertions(+), 9 deletions(-)

diff --git a/System/Rune/RuneBreakWin.cs b/System/Rune/RuneBreakWin.cs
index 5ad5a3c..429798a 100644
--- a/System/Rune/RuneBreakWin.cs
+++ b/System/Rune/RuneBreakWin.cs
@@ -27,7 +27,6 @@
         [SerializeField] RectTransform m_ContainerRuneSoul;
         [SerializeField] Text m_RuneSoulAdd;
 
-        private List<bool> m_Checks = new List<bool>();
         private List<ushort> m_BreakRunes = new List<ushort>();
         private bool m_PlayerBreakEffect = false;
 
@@ -99,13 +98,13 @@
         }
         private void OnClickCheck(int type)
         {
-            bool check = m_Checks[type - 1];
+            bool check = model.IsQualityMark(type);
             OnCheck(type, !check);
         }
         private void OnCheck(int type, bool check)
         {
-            m_Checks[type - 1] = check;
-            m_CheckMarks[type - 1].gameObject.SetActive(m_Checks[type - 1]);
+            model.SetQualityMark(type, check);
+            m_CheckMarks[type - 1].gameObject.SetActive(model.IsQualityMark(type));
             for (int i = 0; i < model.runeBreakList.Count; i++)
             {
                 RuneData _data = model.runeBreakList[i];
@@ -173,10 +172,10 @@
                     }
                 }
             }
-            OnCheck(1, m_Checks[0]);
-            OnCheck(2, m_Checks[1]);
-            OnCheck(3, m_Checks[2]);
-            OnCheck(4, m_Checks[3]);
+            OnCheck(1, model.IsQualityMark(1));
+            OnCheck(2, model.IsQualityMark(2));
+            OnCheck(3, model.IsQualityMark(3));
+            OnCheck(4, model.IsQualityMark(4));
         }
 
         IEnumerator Co_PlayEffect(float _t)
@@ -265,7 +264,6 @@
                 {
                     OnClickCheck(_type);
                 });
-                m_Checks.Add(i == 0);
             }
             m_JumpBtn0.onClick.AddListener(OnJumpRuneTower);
             m_JumpBtn1.onClick.AddListener(OnJumpRuneTower);
diff --git a/System/Rune/RuneModel.cs b/System/Rune/RuneModel.cs
index 767e86e..0c1b317 100644
--- a/System/Rune/RuneModel.cs
+++ b/System/Rune/RuneModel.cs
@@ -30,6 +30,7 @@
 
             FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
             PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent;
+            StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
         }
 
         private void OnFuncStateChangeEvent(int func)
@@ -49,6 +50,14 @@
         {
             ClearRuneData();
             serverInited = false;
+        }
+
+        private void OnStageLoadFinish()
+        {
+            if (!(StageManager.Instance.CurrentStage is DungeonStage))
+            {
+                specialItemColorMark = false;
+            }
         }
 
         public void OnPlayerLoginOk()
@@ -1139,6 +1148,30 @@
             }
         }
 
+        #region 绗﹀嵃鍒嗚В閫夋嫨鍝佽川璁板綍
+        bool specialItemColorMark = false;
+        public bool IsQualityMark(int itemColor)
+        {
+            if (itemColor == 4)
+            {
+                return specialItemColorMark;
+            }
+            var playerId = PlayerDatas.Instance.baseData.PlayerID;
+            return LocalSave.GetBool(StringUtility.Contact("RuneBreakSelect_", playerId, "_", itemColor), itemColor == 1);
+        }
+
+        public void SetQualityMark(int itemColor, bool mark)
+        {
+            if (itemColor == 4)
+            {
+                specialItemColorMark = mark;
+                return;
+            }
+            var playerId = PlayerDatas.Instance.baseData.PlayerID;
+            LocalSave.SetBool(StringUtility.Contact("RuneBreakSelect_", playerId, "_", itemColor), mark);
+        }
+        #endregion
+
         #region 绗﹀嵃鍚堟垚
         public int GetMaxLevelRuneCnt(int _id, out RuneData _runeData)
         {

--
Gitblit v1.8.0