//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, September 08, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TableConfig; namespace Snxxz.UI { public class ComposeWin : Window { #region 成员变量 [SerializeField] private Button _closeBtn; [SerializeField] private Button _prePageBtn; [SerializeField] private Button _nextPageBtn; [SerializeField] private FunctionButton _wingsUITitleType; [SerializeField] private FunctionButton _ticketUITitleType; [SerializeField] private FunctionButton _godequipUITitleType; [SerializeField] private FunctionButton _equipUITitleType; [SerializeField] private FunctionButton _itemUITitleType; [SerializeField] private FunctionButton _dogzEquipFunc; [SerializeField] private FunctionButtonGroup _funcBtnGroup; #endregion ComposeWinModel _composeModel; ComposeWinModel ComposeModel { get { return _composeModel ?? (_composeModel = ModelCenter.Instance.GetModel()); } } SelectEquipModel selectModel { get { return ModelCenter.Instance.GetModel(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { _wingsUITitleType.onClick.AddListener(OnClickWingsCompose); _ticketUITitleType.onClick.AddListener(OnClickTicketCompose); _godequipUITitleType.onClick.AddListener(OnClickGodEquipCompose); _equipUITitleType.onClick.AddListener(OnClickEquipCompose); _itemUITitleType.onClick.AddListener(OnClickItemCompose); _dogzEquipFunc.AddListener(ClickDogzEquipCompose); _prePageBtn.onClick.AddListener(OnClickLeftBtn); _nextPageBtn.onClick.AddListener(OnClickRightBtn); _closeBtn.onClick.AddListener(OnClickCloseBtn); } protected override void OnPreOpen() { ComposeModel.ResetModel(); } protected override void OnActived() { base.OnActived(); if (functionOrder == 0 && !WindowJumpMgr.Instance.IsJumpState) { if(ComposeModel.composeToolRed.state == RedPointState.Simple) { _itemUITitleType.state = TitleBtnState.Click; functionOrder = _itemUITitleType.order; } else { if (_wingsUITitleType.state == TitleBtnState.Normal || _wingsUITitleType.state == TitleBtnState.Click) { _wingsUITitleType.state = TitleBtnState.Click; functionOrder = _wingsUITitleType.order; } else if (_ticketUITitleType.state == TitleBtnState.Normal || _ticketUITitleType.state == TitleBtnState.Click) { _ticketUITitleType.state = TitleBtnState.Click; functionOrder = _ticketUITitleType.order; } else if (_godequipUITitleType.state == TitleBtnState.Normal || _godequipUITitleType.state == TitleBtnState.Click) { _godequipUITitleType.state = TitleBtnState.Click; functionOrder = _godequipUITitleType.order; } else if (_equipUITitleType.state == TitleBtnState.Normal || _equipUITitleType.state == TitleBtnState.Click) { _equipUITitleType.state = TitleBtnState.Click; functionOrder = _equipUITitleType.order; } else if (_itemUITitleType.state == TitleBtnState.Normal || _itemUITitleType.state == TitleBtnState.Click) { _itemUITitleType.state = TitleBtnState.Click; functionOrder = _itemUITitleType.order; } } } _funcBtnGroup.TriggerByOrder(functionOrder); } protected override void OnAfterOpen() { } protected override void OnPreClose() { selectModel.ClearSelectModel(); } protected override void OnAfterClose() { if (!WindowJumpMgr.Instance.IsJumpState) { WindowCenter.Instance.Open(); } } #endregion private void OnClickRightBtn() { _funcBtnGroup.TriggerNext(); } private void OnClickLeftBtn() { _funcBtnGroup.TriggerLast(); } private void ClickDogzEquipCompose() { CloseSubWindows(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation(); } else { WindowCenter.Instance.Open(); } functionOrder = _dogzEquipFunc.order; } private void OnClickItemCompose() { CloseSubWindows(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation(); } else { WindowCenter.Instance.Open(); } functionOrder = _itemUITitleType.order; } private void OnClickEquipCompose() { CloseSubWindows(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation(); } else { WindowCenter.Instance.Open(); } functionOrder = _equipUITitleType.order; } private void OnClickGodEquipCompose() { functionOrder = _godequipUITitleType.order; } private void OnClickTicketCompose() { CloseSubWindows(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation(); } else { WindowCenter.Instance.Open(); } functionOrder = _ticketUITitleType.order; } private void OnClickWingsCompose() { CloseSubWindows(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation(); } else { WindowCenter.Instance.Open(); } functionOrder = _wingsUITitleType.order; } private void CloseSubWindows() { WindowCenter.Instance.CloseImmediately(); WindowCenter.Instance.CloseImmediately(); WindowCenter.Instance.CloseImmediately(); WindowCenter.Instance.CloseImmediately(); WindowCenter.Instance.CloseImmediately(); } public void OnClickCloseBtn() { CloseSubWindows(); CloseImmediately(); } } }