//-------------------------------------------------------- // [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()); } } GodBeastModel godBeastModel { get { return ModelCenter.Instance.GetModel(); } } 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();//确认 } } }