少年修仙传客户端代码仓库
lcy
2024-12-16 a39c35fc6449430cd02bccb681c4a0a880e46cd9
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Friday, September 07, 2018
//--------------------------------------------------------
 
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
//神兽水晶强化选择面板
namespace vnxbqy.UI
{
 
    public class CrystalSelectionWin : Window
    {
        [SerializeField] Text m_NumberText;
        [SerializeField] Slider m_Slider;
        [SerializeField] Button m_AddBtn;
        [SerializeField] Button m_ReduceBtn;
        [SerializeField] Transform m_Tran;
        public Vector3 Pos1 = new Vector3(311,160,0);
        public Vector3 Pos2 = new Vector3(387, 160, 0);
        public Vector3 Pos3 = new Vector3(465, 160, 0);
        #region Built-in
        PackModel _playerPack;
        PackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PackModel>()); } }
        GodBeastModel godBeastModel { get { return ModelCenter.Instance.GetModel<GodBeastModel>(); } }
        protected override void BindController()
        {
        }
 
        protected override void AddListeners()
        {
            m_Slider.onValueChanged.AddListener(OnClickSlider);
            m_AddBtn.AddListener(OnClickAddBtn);
            m_ReduceBtn.AddListener(OnClickReduceBtn);
        }
 
        protected override void OnPreOpen()
        {
            m_Slider.minValue = 0;
            m_Slider.maxValue = godBeastModel.Crystal_ItemModel.count;
            if (godBeastModel.Absorption_Dic.ContainsKey(godBeastModel.ItemInde))
            {
                m_Slider.value = godBeastModel.Absorption_Dic[godBeastModel.ItemInde];
 
            }
            else
            {
                m_Slider.value = 0;
            }
            m_NumberText.text = m_Slider.value.ToString();
        }
        protected override void OnActived()
        {
            switch (godBeastModel.ItemPos)
            {
                case 1:
                    m_Tran.localPosition = Pos1;
                    break;
                case 2:
                    m_Tran.localPosition = Pos2;
                    break;
                case 3:
                    m_Tran.localPosition = Pos3;
                    break;
 
 
            }
        }
        protected override void OnAfterOpen()
        {
        }
 
        protected override void OnPreClose()
        {
            godBeastModel.Crystal_ItemModel = null;
        }
 
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void OnClickAddBtn()
        {
            if (m_Slider.value < godBeastModel.Crystal_ItemModel.count)
            {
                m_Slider.value += 1;
                m_NumberText.text = m_Slider.value.ToString();
                Determine();//确认
            }
        }
        private void OnClickReduceBtn()
        {
            if (m_Slider.value > 0)
            {
                m_Slider.value -= 1;
                m_NumberText.text = m_Slider.value.ToString();
                Determine();//确认
            }
        }
        private void Determine()//确认
        {
            if (godBeastModel.Absorption_Dic.ContainsKey(godBeastModel.ItemInde))
            {
                if ((int)m_Slider.value <= 0)
                {
                    godBeastModel.Absorption_Dic.Remove(godBeastModel.ItemInde);
                }
                else
                {
                    godBeastModel.Absorption_Dic[godBeastModel.ItemInde] = (int)m_Slider.value;
                }             
            }
            else
            {
                if ((int)m_Slider.value > 0)
                {
                    godBeastModel.Absorption_Dic.Add(godBeastModel.ItemInde, (int)m_Slider.value);
                }                  
            }
            godBeastModel.AbsorbEventUpdate();
        }
        private void OnClickSlider(float value)
        {
            m_NumberText.text = m_Slider.value.ToString();
            Determine();//确认
        }
    }
 
}