//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Friday, July 27, 2018
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class ViewPetHorseStoneWin : Window, SecondWindowInterface
|
{
|
[SerializeField] ScrollerController m_Controller;
|
|
RoleParticularModel model { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } }
|
|
List<RoleParticularModel.AlchemyDrug> petHorseStones;
|
|
#region Built-in
|
public Button close { get; set; }
|
Text m_Title;
|
|
protected override void BindController()
|
{
|
if (this is SecondWindowInterface)
|
{
|
var frame = this.GetComponentInChildren<SecondFrameLoader2>();
|
frame.Create();
|
m_Title = frame.GetComponentInChildren<Text>();
|
close = frame.GetComponentInChildren<Button>();
|
}
|
}
|
|
protected override void AddListeners()
|
{
|
m_Controller.OnRefreshCell += OnRefreshCell;
|
close.onClick.AddListener(CloseClick);
|
}
|
|
protected override void OnPreOpen()
|
{
|
Display();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
|
private void Display()
|
{
|
var viewplayer = model.GetViewPlayerData(model.viewPlayer);
|
if (viewplayer == null)
|
{
|
return;
|
}
|
|
m_Title.text = Language.Get(model.viewPetStone ? "PetWin_PetStoneTips_4" : "MountPanel_AttInfo_8");
|
|
petHorseStones = null;
|
petHorseStones = viewplayer.rolePlusData.alchemyDrugs.FindAll((x) =>
|
{
|
var config = ItemConfig.Get(x.item);
|
return config.Type == (model.viewPetStone ? 28 : 22);
|
});
|
|
m_Controller.Refresh();
|
if (petHorseStones != null)
|
{
|
petHorseStones.Sort(Compare);
|
for (int i = 0; i < petHorseStones.Count; i++)
|
{
|
m_Controller.AddCell(ScrollerDataType.Header, i);
|
}
|
}
|
m_Controller.Restart();
|
}
|
|
private void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
ViewPetHorseStoneCell petHorseStoneCell = cell as ViewPetHorseStoneCell;
|
var index = cell.index;
|
if (petHorseStones != null && index < petHorseStones.Count)
|
{
|
petHorseStoneCell.Display(petHorseStones[index].item, petHorseStones[index].count);
|
}
|
}
|
|
int Compare(RoleParticularModel.AlchemyDrug x, RoleParticularModel.AlchemyDrug y)
|
{
|
var stoneConfig_x = AttrFruitConfig.Get(x.item);
|
var stoneConfig_y = AttrFruitConfig.Get(y.item);
|
if (stoneConfig_x != null && stoneConfig_y != null)
|
{
|
return -stoneConfig_x.Sort.CompareTo(stoneConfig_y.Sort);
|
}
|
return -x.item.CompareTo(y.item);
|
}
|
|
}
|
|
}
|
|
|
|
|