using System;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
using vnxbqy.UI;
|
|
public class SelectItemWin : Window
|
{
|
private Button _closeBtn;
|
private GameObject _selectParent;
|
private ScrollerController _selectCtrl;
|
|
SelectEquipModel _selectModel;
|
SelectEquipModel selectModel
|
{
|
get { return _selectModel ?? (_selectModel = ModelCenter.Instance.GetModel<SelectEquipModel>()); }
|
}
|
|
private Dictionary<int, ItemModel> selectItemDict;
|
|
protected override void BindController()
|
{
|
_closeBtn = transform.Find("Closebtn").GetComponent<Button>();
|
_selectCtrl = transform.Find("SelectItemCtrl").GetComponent<ScrollerController>();
|
_selectCtrl.OnRefreshCell += OnRefreshSelectCell;
|
}
|
|
protected override void AddListeners()
|
{
|
_closeBtn.onClick.AddListener(CloseWin);
|
}
|
|
protected override void OnPreOpen()
|
{
|
selectModel.UpdateSelectItemsEvent += OnInitPanel;
|
selectItemDict = null;
|
OnInitPanel();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
|
}
|
|
protected override void OnPreClose()
|
{
|
selectModel.UpdateSelectItemsEvent -= OnInitPanel;
|
}
|
|
protected override void OnAfterClose()
|
{
|
|
}
|
|
public void OnInitPanel()
|
{
|
_selectCtrl.Refresh();
|
switch (selectModel.selectItem)
|
{
|
case SelectItemType.unfixed:
|
selectItemDict = selectModel.GetUnfixedItemModel();
|
break;
|
case SelectItemType.addons:
|
selectItemDict = selectModel.GetAddItemModel();
|
break;
|
}
|
|
if (selectItemDict != null)
|
{
|
foreach (var key in selectItemDict.Keys)
|
{
|
_selectCtrl.AddCell(ScrollerDataType.Header, key);
|
}
|
}
|
_selectCtrl.Restart();
|
}
|
|
private void OnRefreshSelectCell(ScrollerDataType type, CellView cell)
|
{
|
ItemModel itemModel = selectItemDict[cell.index];
|
ComposeSelectItemCell itemCell = cell.GetComponent<ComposeSelectItemCell>();
|
itemCell.SetDisplay(itemModel);
|
}
|
|
public void CloseWin()
|
{
|
Close();
|
}
|
|
}
|