//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Thursday, December 21, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class KingFairyAllotWin : Window
|
{
|
[SerializeField] Button m_LevelBtn;
|
[SerializeField] Button m_DutyBtn;
|
[SerializeField] Button m_ContributeBtn;
|
[SerializeField] Button m_CloseBtn;
|
[SerializeField] ScrollerController scrollerController;
|
|
FairyModel m_Model;
|
FairyModel model {
|
get {
|
return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<FairyModel>());
|
}
|
}
|
#region Built-in
|
protected override void BindController()
|
{
|
}
|
protected override void AddListeners()
|
{
|
m_LevelBtn.onClick.AddListener(() => {
|
OnClickSort(1);
|
});
|
m_DutyBtn.onClick.AddListener(() => {
|
OnClickSort(2);
|
});
|
m_ContributeBtn.onClick.AddListener(() => {
|
OnClickSort(3);
|
});
|
m_CloseBtn.onClick.AddListener(CloseClick);
|
}
|
protected override void OnPreOpen()
|
{
|
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += RefreshFairyMember;
|
|
model.IsOnAllot = true;
|
model.sortType = 3;
|
model.up = false;
|
|
RefreshFairyMember();
|
}
|
protected override void OnAfterOpen()
|
{
|
}
|
protected override void OnPreClose()
|
{
|
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= RefreshFairyMember;
|
}
|
protected override void OnAfterClose()
|
{
|
model.IsOnAllot = false;
|
}
|
#endregion
|
private void OnClickSort(int type)
|
{
|
model.OnSort(type);
|
if (model.sortFairyMembers.Count > 0) {
|
scrollerController.m_Scorller.RefreshActiveCellViews();
|
}
|
}
|
private void RefreshFairyMember()
|
{
|
model.sortFairyMembers.Clear();
|
scrollerController.Refresh();
|
PlayerFairyData.FairyData fairy = PlayerDatas.Instance.fairyData.fairy;
|
if (fairy != null) {
|
List<PlayerFairyData.FairyMember> list = fairy.Member;
|
if (list != null) {
|
model.sortFairyMembers.AddRange(list);
|
}
|
model.sortFairyMembers.Sort(model.Compare);
|
for (int i = 0; i < model.sortFairyMembers.Count; i++)
|
{
|
scrollerController.AddCell(i % 2 == 0 ? ScrollerDataType.Header : ScrollerDataType.Normal, i);
|
}
|
}
|
scrollerController.Restart();
|
}
|
}
|
}
|