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(); } } 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.CheckOpen()) { WindowCenter.Instance.Open(); } } } 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(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation(); } else { WindowCenter.Instance.Open(); } functionOrder = xbWarehouseTitle.order; } private void ClickXBStore() { if (xBModel.xbStoreRed.state == RedPointState.Simple) { xBModel.xbStoreRed.state = RedPointState.None; } xBModel.title = HappXBTitle.Store; CloseSubWindows(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation(); } else { WindowCenter.Instance.Open(); } functionOrder = xbStoreTitle.order; } private void ClickRuneXB() { xBModel.title = HappXBTitle.Rune; CloseSubWindows(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation(); } else { WindowCenter.Instance.Open(); } functionOrder = runeXBTitle.order; } private void ClickBestXB() { xBModel.title = HappXBTitle.Best; CloseSubWindows(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation(); } else { WindowCenter.Instance.Open(); } functionOrder = bestXBTitle.order; } private void CloseSubWindows() { WindowCenter.Instance.CloseImmediately(); WindowCenter.Instance.CloseImmediately(); WindowCenter.Instance.CloseImmediately(); WindowCenter.Instance.CloseImmediately(); } private void CloseWin() { CloseSubWindows(); CloseImmediately(); } } }