From f2f6a288f1df9d5cf2eb07cf0ded09c1a6ce3af2 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期三, 15 八月 2018 16:01:55 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Dungeon/TrialExchangeWin.cs |   65 +++++++++++++++++++++++++++++---
 1 files changed, 58 insertions(+), 7 deletions(-)

diff --git a/System/Dungeon/TrialExchangeWin.cs b/System/Dungeon/TrialExchangeWin.cs
index bde81f7..d2404fd 100644
--- a/System/Dungeon/TrialExchangeWin.cs
+++ b/System/Dungeon/TrialExchangeWin.cs
@@ -18,6 +18,8 @@
         [SerializeField] Text m_SelectClass;
         [SerializeField] Button m_SelectClassUp;
         [SerializeField] TrialSelectClassBehaviour m_SelectClassBehaviour;
+        [SerializeField] ItemBehaviour[] m_Tokens;
+        [SerializeField] Text[] m_TokenCounts;
         [SerializeField] Button m_Close;
 
         TrialDungeonModel model { get { return ModelCenter.Instance.GetModel<TrialDungeonModel>(); } }
@@ -98,8 +100,19 @@
         #endregion
         private void OnRefreshCell(ScrollerDataType type, CellView cell)
         {
-            TrialExchangeCell trialExchangeCell = cell as TrialExchangeCell;
-            trialExchangeCell.Display(cell.index);
+            switch (type)
+            {
+                case ScrollerDataType.Header:
+                    var _class = cell.index / 100;
+                    var _line = cell.index % 100;
+                    TrialExchangeCell trialExchangeCell = cell as TrialExchangeCell;
+                    trialExchangeCell.Display(_class, _line);
+                    break;
+                case ScrollerDataType.Normal:
+                    TrialExchangeTitleCell trialExchangeTitleCell = cell as TrialExchangeTitleCell;
+                    trialExchangeTitleCell.Display(cell.index);
+                    break;
+            }
         }
 
         private void SelectClassUp()
@@ -117,6 +130,7 @@
         {
             DisplayTrialExchanges();
             DisplaySelectClass();
+            DisplayTokens();
         }
 
         void DisplayTrialExchanges()
@@ -124,10 +138,19 @@
             m_Controller.Refresh();
             if (model.selectEquipClass == 1)
             {
-                var configs = ConfigManager.Instance.GetAllValues<TrialExchangeConfig>();
-                for (int i = 0; i < configs.Count; i++)
+                var trialClasses = model.GetTotalClass();
+                for (int i = 0; i < trialClasses.Count; i++)
                 {
-                    m_Controller.AddCell(ScrollerDataType.Header, configs[i].id);
+                    List<TrialExchangeConfig> list;
+                    if (model.TryGetTrialExchanges(trialClasses[i], out list))
+                    {
+                        m_Controller.AddCell(ScrollerDataType.Normal, trialClasses[i]);
+                        var line = Mathf.CeilToInt((float)list.Count / 4);
+                        for (int k = 0; k < line; k++)
+                        {
+                            m_Controller.AddCell(ScrollerDataType.Header, trialClasses[i] * 100 + k);
+                        }
+                    }
                 }
             }
             else
@@ -135,9 +158,10 @@
                 List<TrialExchangeConfig> list;
                 if (model.TryGetTrialExchanges(model.selectEquipClass, out list))
                 {
-                    for (int i = 0; i < list.Count; i++)
+                    var line = Mathf.CeilToInt((float)list.Count / 4);
+                    for (int i = 0; i < line; i++)
                     {
-                        m_Controller.AddCell(ScrollerDataType.Header, list[i].id);
+                        m_Controller.AddCell(ScrollerDataType.Header, model.selectEquipClass * 100 + i);
                     }
                 }
             }
@@ -149,6 +173,11 @@
             if (packtype == PackType.rptItem && model.trialTokens.Contains(itemId))
             {
                 m_Controller.m_Scorller.RefreshActiveCellViews();
+                DisplayTokens();
+            }
+            else if (packtype == PackType.rptEquip)
+            {
+                m_Controller.m_Scorller.RefreshActiveCellViews();
             }
         }
 
@@ -158,10 +187,32 @@
                 Language.Get("EquipSuitLV", Language.Get(StringUtility.Contact("Num_CHS_", model.selectEquipClass)));
         }
 
+        void DisplayTokens()
+        {
+            var list = model.trialClassTokens.ContainsKey(model.selectEquipClass) ? model.trialClassTokens[model.selectEquipClass] : null;
+            for (int i = 0; i < m_Tokens.Length; i++)
+            {
+                if (list != null && i < list.Count)
+                {
+                    m_Tokens[i].gameObject.SetActive(model.selectEquipClass != 1);
+                    if (model.selectEquipClass != 1)
+                    {
+                        m_Tokens[i].SetItem(list[i], 0);
+                        m_TokenCounts[i].text = model.GetTrialTokenCount(list[i]).ToString();
+                    }
+                }
+                else
+                {
+                    m_Tokens[i].gameObject.SetActive(false);
+                }
+            }
+        }
+
         private void SelectEquipClassEvent()
         {
             DisplayTrialExchanges();
             DisplaySelectClass();
+            DisplayTokens();
             bool _up = m_SelectClassBehaviour.gameObject.activeSelf;
             m_SelectClassUp.transform.localEulerAngles = Vector3.zero.SetZ(_up ? 0 : 180);
         }

--
Gitblit v1.8.0