using LitJson;
|
using vnxbqy.UI;
|
using System.Linq;
|
using UnityEngine;
|
|
class BagSelectWin : ILWindow
|
{
|
ScrollerController m_ScrollControl;
|
|
BagSelectModel model = BagSelectModel.Instance;
|
#region Built-in
|
|
protected override void OnActived()
|
{
|
var knapSackWin = WindowCenter.Instance.Get<KnapSackWin>();
|
if (knapSackWin != null)
|
{
|
Transform parent = knapSackWin.subWindowContainer;
|
this.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
|
this.transform.SetAsFirstSibling();
|
}
|
}
|
|
|
protected override void BindController()
|
{
|
m_ScrollControl = proxy.GetWidgtEx<ScrollerController>("scroller");
|
}
|
|
protected override void AddListeners()
|
{
|
|
m_ScrollControl.OnRefreshCell += OnRefreshCell;
|
}
|
|
protected override void OnPreOpen()
|
{
|
model.selectType = 0;
|
|
}
|
protected override void OnAfterOpen()
|
{
|
m_ScrollControl.Refresh();
|
var tabList = model.bagTabs.Keys.ToList();
|
for (int i = 0; i < tabList.Count; i++)
|
{
|
var funcID = tabList[i];
|
//此处0代表默认 背包
|
if (funcID != 0 && !FuncOpen.Instance.IsFuncOpen(funcID))
|
{
|
continue;
|
}
|
m_ScrollControl.AddCell(ScrollerDataType.Header, funcID);
|
}
|
|
tabList = model.holidayBagTabs.Keys.ToList();
|
for (int i = 0; i < tabList.Count; i++)
|
{
|
var holidayID = tabList[i] + 10000;
|
if (!OpenServerActivityCenter.Instance.IsActivityOpen(tabList[i], (int)OpenServerActivityCenter.ActivityType.AT_JRZF))
|
{
|
continue;
|
}
|
m_ScrollControl.AddCell(ScrollerDataType.Header, holidayID);
|
}
|
|
|
m_ScrollControl.Restart();
|
}
|
|
#endregion
|
|
private void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var bag = cell.GetILBehaviour<BagSelectCell>();
|
if (bag == null)
|
return;
|
bag.Display(cell.index);
|
}
|
|
}
|