using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
public class HappyXBWin : Window
|
{
|
[SerializeField] FunctionButton bestXBTitle;
|
[SerializeField] FunctionButton runeXBTitle;
|
[SerializeField] FunctionButton xbStoreTitle;
|
[SerializeField] FunctionButton xbWarehouseTitle;
|
[SerializeField] FunctionButtonGroup titleGroup;
|
[SerializeField] Button closeBtn;
|
[SerializeField] Button leftBtn;
|
[SerializeField] Button rightBtn;
|
|
HappyXBModel xBModel { get { return ModelCenter.Instance.GetModel<HappyXBModel>(); } }
|
protected override void BindController()
|
{
|
|
}
|
protected override void AddListeners()
|
{
|
bestXBTitle.onClick.AddListener(ClickBestXB);
|
runeXBTitle.onClick.AddListener(ClickRuneXB);
|
xbStoreTitle.onClick.AddListener(ClickXBStore);
|
xbWarehouseTitle.onClick.AddListener(ClickXBWarehouse);
|
leftBtn.onClick.AddListener(OnClickLeftBtn);
|
rightBtn.onClick.AddListener(OnClickRightBtn);
|
closeBtn.onClick.AddListener(CloseWin);
|
}
|
|
protected override void OnPreOpen()
|
{
|
|
}
|
protected override void OnActived()
|
{
|
base.OnActived();
|
if (!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0)
|
{
|
if (xBModel.bestXBRed.state == RedPointState.Simple)
|
{
|
functionOrder = bestXBTitle.order;
|
}
|
else if (xBModel.runeXBRed.state == RedPointState.Simple)
|
{
|
functionOrder = runeXBTitle.order;
|
}
|
else if (xBModel.xbStoreRed.state == RedPointState.Simple)
|
{
|
functionOrder = xbStoreTitle.order;
|
}
|
else if (xBModel.xbWarehouseRed.state == RedPointState.Simple)
|
{
|
functionOrder = xbWarehouseTitle.order;
|
}
|
}
|
titleGroup.TriggerByOrder(functionOrder);
|
}
|
protected override void OnAfterOpen()
|
{
|
|
}
|
|
protected override void OnPreClose()
|
{
|
|
}
|
protected override void OnAfterClose()
|
{
|
if (!WindowJumpMgr.Instance.IsJumpState)
|
{
|
if (!WindowCenter.Instance.IsOpen<MainInterfaceWin>())
|
{
|
WindowCenter.Instance.Open<MainInterfaceWin>();
|
}
|
}
|
}
|
|
private void OnClickRightBtn()
|
{
|
titleGroup.TriggerNext();
|
}
|
|
private void OnClickLeftBtn()
|
{
|
titleGroup.TriggerLast();
|
}
|
|
private void ClickXBWarehouse()
|
{
|
if (xBModel.xbWarehouseRed.state == RedPointState.Simple)
|
{
|
xBModel.xbWarehouseRed.state = RedPointState.None;
|
}
|
|
xBModel.title = HappXBTitle.Warehouse;
|
CloseSubWindows();
|
WindowCenter.Instance.Open<XBWarehouseWin>();
|
functionOrder = xbWarehouseTitle.order;
|
}
|
|
private void ClickXBStore()
|
{
|
if (xBModel.xbStoreRed.state == RedPointState.Simple)
|
{
|
xBModel.xbStoreRed.state = RedPointState.None;
|
}
|
|
xBModel.title = HappXBTitle.Store;
|
CloseSubWindows();
|
WindowCenter.Instance.Open<XBStoreWin>();
|
functionOrder = xbStoreTitle.order;
|
}
|
|
private void ClickRuneXB()
|
{
|
xBModel.title = HappXBTitle.Rune;
|
CloseSubWindows();
|
WindowCenter.Instance.Open<RuneXBWin>();
|
functionOrder = runeXBTitle.order;
|
}
|
|
private void ClickBestXB()
|
{
|
xBModel.title = HappXBTitle.Best;
|
CloseSubWindows();
|
WindowCenter.Instance.Open<BestXBWin>();
|
functionOrder = bestXBTitle.order;
|
}
|
|
private void CloseSubWindows()
|
{
|
var children = WindowConfig.Get().FindChildWindows("HappyXBWin");
|
foreach (var window in children)
|
{
|
WindowCenter.Instance.Close(window);
|
}
|
}
|
|
private void CloseWin()
|
{
|
CloseSubWindows();
|
CloseImmediately();
|
}
|
|
}
|
}
|