//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, August 07, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class KingFairyChestWin : Window { [SerializeField] ChestDetailBehaviour m_ChestDetailBehaviour; [SerializeField] CanvasGroup m_ChestCanvaGroup; [SerializeField] EquipTip[] m_EquipDetails; [SerializeField] CanvasGroup[] m_EquipCanvaGroups; ItemTipsModel m_ItemTipsModel; ItemTipsModel itemTipsModel { get { return m_ItemTipsModel ?? (m_ItemTipsModel = ModelCenter.Instance.GetModel()); } } BoxGetItemModel boxGetItemModel { get { return ModelCenter.Instance.GetModel(); } } KingFairyModel model { get { return ModelCenter.Instance.GetModel(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { } protected override void OnPreOpen() { m_ChestCanvaGroup.alpha = 0; for (int i = 0; i < m_EquipCanvaGroups.Length; i++) { m_EquipCanvaGroups[i].alpha = 0; } for (int i = 0; i < m_EquipDetails.Length; i++) { m_EquipDetails[i].gameObject.SetActive(false); } } protected override void OnActived() { base.OnActived(); ItemAttrData _itemData = new ItemAttrData(model.viewChestItem.id, true, (ulong)model.viewChestItem.count); ModelCenter.Instance.GetModel().SetItemTipsModel(_itemData, false); m_ChestDetailBehaviour.Display(); Dictionary dict = null; var index = 0; if (boxGetItemModel.IsSelectItemByID(model.viewChestItem.id, out dict)) { foreach (var key in dict.Keys) { if (index < m_EquipDetails.Length) { ItemAttrData attr = new ItemAttrData(key, true, (ulong)dict[key]); m_EquipDetails[index].InitModel(attr); m_EquipDetails[index].gameObject.SetActive(true); index++; } } } if (gameObject.activeInHierarchy) { StartCoroutine(Co_Display()); } } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { } #endregion IEnumerator Co_Display() { for (int i = 0; i < 4; i++) { yield return null; } m_ChestCanvaGroup.alpha = 1; for (int i = 0; i < m_EquipCanvaGroups.Length; i++) { m_EquipCanvaGroups[i].alpha = 1; } } } }