|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
//砍树获得装备界面
|
namespace vnxbqy.UI
|
{
|
public class FunctionEnterWin : Window
|
{
|
[SerializeField] ScrollerController scrollerController;
|
[SerializeField] Transform tzPos;
|
[SerializeField] Transform dfPos;
|
[SerializeField] Button closeButton;
|
[SerializeField] Image upArrow;
|
[SerializeField] Image downArrow;
|
[SerializeField] Transform layout;
|
|
|
CutTreeModel cutTreeModel { get { return ModelCenter.Instance.GetModel<CutTreeModel>(); } }
|
#region Built-in
|
|
bool isOpen = false; //第一次打开会有坐标问题
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
|
closeButton.AddListener(CloseClick);
|
}
|
|
|
protected override void OnPreOpen()
|
{
|
scrollerController.OnRefreshCell += ScrollerController_OnRefreshCell;
|
if(isOpen)
|
Display();
|
}
|
|
|
|
protected override void OnAfterOpen()
|
{
|
if (!isOpen)
|
Display();
|
isOpen = true;
|
}
|
|
protected override void OnPreClose()
|
{
|
scrollerController.OnRefreshCell -= ScrollerController_OnRefreshCell;
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
|
#endregion
|
|
void Display()
|
{
|
int[] showFuncArr;
|
if (cutTreeModel.selectFuncArrNum == 0)
|
{
|
layout.transform.localPosition = dfPos.localPosition;
|
showFuncArr = cutTreeModel.dongfuFuncArr;
|
}
|
else
|
{
|
layout.transform.localPosition = tzPos.localPosition;
|
showFuncArr = cutTreeModel.tiaozhanFuncArr;
|
}
|
|
//最多显示5个
|
Dictionary<int, int> showFuncDic = new Dictionary<int, int>();
|
int showFuncNum = 0;
|
scrollerController.Refresh();
|
scrollerController.m_Scorller.LayoutGroup.childForceExpandWidth = false;
|
for (int i = 0; i < showFuncArr.Length; i++)
|
{
|
//符合等级提前显示 和 功能已开启的
|
if ((cutTreeModel.funcShowLVDic.ContainsKey(showFuncArr[i]) && PlayerDatas.Instance.baseData.LV >= cutTreeModel.funcShowLVDic[showFuncArr[i]]) ||
|
FuncOpen.Instance.IsFuncOpen(showFuncArr[i]))
|
{
|
scrollerController.AddCell(ScrollerDataType.Header, showFuncArr[i]);
|
showFuncDic[showFuncArr[i]] = showFuncNum;
|
showFuncNum++;
|
}
|
}
|
|
scrollerController.Restart();
|
//功能引导位置显示
|
if (NewBieCenter.Instance.inGuiding)
|
{
|
var config = GuideConfig.Get(NewBieCenter.Instance.currentGuide);
|
|
if (showFuncDic.ContainsKey(config.Condition))
|
{
|
scrollerController.JumpIndex(showFuncDic[config.Condition]);
|
}
|
|
}
|
|
upArrow.SetActive(showFuncNum > 5);
|
downArrow.SetActive(showFuncNum > 5);
|
}
|
|
|
private void ScrollerController_OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell as FunctionEnterCell;
|
_cell.Display(cell.index);
|
}
|
}
|
|
}
|