//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, September 27, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class DungeonAncientKingWin : Window { [SerializeField] Text m_AncientKingName; [SerializeField] Text m_AncientKingPoint; [SerializeField] ItemCell[] m_Items; [SerializeField] Button m_Close; DungeonModel m_Model; DungeonModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_Close.onClick.AddListener(CloseClick); } protected override void OnPreOpen() { model.updateMissionEvent -= UpdateTargets; UpdateTargets(); DisplayAward(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { model.updateMissionEvent -= UpdateTargets; } protected override void OnAfterClose() { } #endregion private void UpdateTargets() { var _help = model.mission; m_AncientKingName.text = _help.topName; m_AncientKingPoint.text = UIHelper.ReplaceLargeNum(_help.topScore); } private void DisplayAward() { var awards = GeneralDefine.ancientKingAwards; for (int i = 0; i < m_Items.Length; i++) { m_Items[i].cellBtn.RemoveAllListeners(); if (i < awards.Count) { var award = awards[i]; m_Items[i].gameObject.SetActive(true); ItemCellModel itemCellModel = new ItemCellModel(award.id, true, (ulong)award.count, award.bind ? 1 : 0); m_Items[i].Init(itemCellModel); m_Items[i].cellBtn.AddListener(() => { ItemAttrData itemAttrData = new ItemAttrData(award.id, true, (ulong)award.count, -1, award.bind ? 1 : 0); ModelCenter.Instance.GetModel().SetItemTipsModel(itemAttrData); }); } else { m_Items[i].gameObject.SetActive(false); } } } } }