少年修仙传客户端代码仓库
client_Hale
2018-08-15 f2f6a288f1df9d5cf2eb07cf0ded09c1a6ce3af2
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);
        }