//--------------------------------------------------------
|
// [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<DungeonModel>()); }
|
}
|
#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<ItemTipsModel>().SetItemTipsModel(itemAttrData);
|
});
|
}
|
else
|
{
|
m_Items[i].gameObject.SetActive(false);
|
}
|
}
|
}
|
}
|
|
}
|
|
|
|
|