//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Thursday, September 27, 2018
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI {
|
|
public class DungeonAncientKingWin : Window
|
{
|
[SerializeField] RectTransform m_ContainerBottom;
|
[SerializeField] ItemCell[] m_Items;
|
[SerializeField] Button m_Close;
|
|
DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
#region Built-in
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
m_Close.onClick.AddListener(CloseClick);
|
}
|
|
protected override void OnPreOpen()
|
{
|
MainPositionTween.switchFunctionStateEvent += OnChangeFuncBtnPosEvent;
|
model.updateMissionEvent += DisplayPosition;
|
DisplayAward();
|
DisplayPosition();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
MainPositionTween.switchFunctionStateEvent -= OnChangeFuncBtnPosEvent;
|
model.updateMissionEvent -= DisplayPosition;
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
|
private void DisplayAward()
|
{
|
var awards = GeneralDefine.ancientKingAwards;
|
for (int i = 0; i < m_Items.Length; i++)
|
{
|
m_Items[i].button.RemoveAllListeners();
|
if (i < awards.Count)
|
{
|
var award = awards[i];
|
m_Items[i].SetActive(true);
|
ItemCellModel itemCellModel = new ItemCellModel(award.id, true, (ulong)award.count);
|
m_Items[i].Init(itemCellModel);
|
m_Items[i].button.AddListener(() =>
|
{
|
ItemTipUtility.Show(award.id);
|
});
|
}
|
else
|
{
|
m_Items[i].SetActive(false);
|
}
|
}
|
}
|
|
private void OnChangeFuncBtnPosEvent(bool immedidately)
|
{
|
if (!MainPositionTween.isDefaultState)
|
{
|
CloseImmediately();
|
}
|
}
|
|
private void DisplayPosition()
|
{
|
var help = model.mission;
|
bool hasKing = !string.IsNullOrEmpty(help.topName);
|
m_ContainerBottom.localPosition =
|
m_ContainerBottom.localPosition.SetY(hasKing ? -127 : -83);
|
}
|
}
|
|
}
|
|
|
|
|