少年修仙传客户端代码仓库
client_linchunjie
2019-04-17 f1f2599ba0e6b64358ffef7ae5c9f9af3ed8b8b4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, March 04, 2019
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
 
namespace Snxxz.UI
{
 
    public class EquipStarMaterialCandidateWidget : MonoBehaviour
    {
        [SerializeField] Text m_Title;
        [SerializeField] Button m_Close;
        [SerializeField] RectTransform m_MaterialContainer;
        [SerializeField] CyclicScroll m_MaterialCycScroll;
 
        [SerializeField] RectTransform m_GetWayContainer;
        [SerializeField] WayCell[] m_GetWays;
 
        EquipStarModel model { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
 
        public void Display(Int2 equipPosition, int starLevel)
        {
            var config = RealmConfig.Get(equipModel.GetEquipSet(equipPosition.x).realm);
            m_Title.text = string.Format("点击选择装备");
 
            var materials = model.GetMaterials(equipPosition, starLevel);
            if (materials.IsNullOrEmpty())
            {
                m_MaterialContainer.gameObject.SetActive(false);
                m_GetWayContainer.gameObject.SetActive(true);
 
                var ways = model.GetMaterialGetWays(equipPosition, starLevel);
                for (var i = 0; i < m_GetWays.Length; i++)
                {
                    var behaviour = m_GetWays[i];
                    if (i < ways.Count)
                    {
                        behaviour.gameObject.SetActive(true);
                        var getWayConfig = GetItemWaysConfig.Get(ways[i]);
                        behaviour.icon.SetSprite(getWayConfig.Icon);
                        behaviour.wayName.text = getWayConfig.Text;
                        behaviour.funcName.text = getWayConfig.name;
                        behaviour.wayButton.SetListener(() =>
                        {
                            WindowCenter.Instance.Close<EquipFrameWin>();
                            ModelCenter.Instance.GetModel<GetItemPathModel>().ClickGetWay(getWayConfig.ID);
                        });
                    }
                    else
                    {
                        behaviour.gameObject.SetActive(false);
                    }
                }
            }
            else
            {
                m_MaterialContainer.gameObject.SetActive(true);
                m_GetWayContainer.gameObject.SetActive(false);
 
                m_MaterialCycScroll.Init(materials);
            }
 
            m_Close.SetListener(Close);
        }
 
        private void Close()
        {
            model.operateMaterialIndex.value = 0;
        }
    }
 
}