//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Friday, September 08, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
|
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] FunctionButton m_GatherSoulCompose;
|
[SerializeField]
|
private FunctionButtonGroup _funcBtnGroup;
|
#endregion
|
|
ComposeWinModel _composeModel;
|
ComposeWinModel ComposeModel {
|
get { return _composeModel ?? (_composeModel = ModelCenter.Instance.GetModel<ComposeWinModel>()); }
|
}
|
|
SelectEquipModel selectModel { get { return ModelCenter.Instance.GetModel<SelectEquipModel>(); } }
|
|
#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);
|
m_GatherSoulCompose.AddListener(GatherSoulCompose);
|
_prePageBtn.onClick.AddListener(OnClickLeftBtn);
|
_nextPageBtn.onClick.AddListener(OnClickRightBtn);
|
_closeBtn.onClick.AddListener(OnClickCloseBtn);
|
|
}
|
|
protected override void OnPreOpen()
|
{
|
ComposeModel.ResetModel();
|
if (WindowJumpMgr.Instance.IsJumpState && ComposeModel.secondType == 0)
|
{
|
if (ComposeModel.CurComposeModel != null)
|
{
|
ComposeModel.SetJumpToModel((ComposeFuncType)ComposeModel.CurComposeModel.firstType,
|
ComposeModel.CurComposeModel.secondType, ComposeModel.CurComposeModel.thirdType);
|
switch ((ComposeFuncType)ComposeModel.CurComposeModel.firstType)
|
{
|
case ComposeFuncType.Wings:
|
functionOrder = _wingsUITitleType.order;
|
break;
|
case ComposeFuncType.Ticket:
|
functionOrder = _ticketUITitleType.order;
|
break;
|
case ComposeFuncType.Fairy:
|
functionOrder = _godequipUITitleType.order;
|
break;
|
case ComposeFuncType.Equip:
|
functionOrder = _equipUITitleType.order;
|
break;
|
case ComposeFuncType.Item:
|
functionOrder = _itemUITitleType.order;
|
break;
|
case ComposeFuncType.MountDogz:
|
functionOrder = _dogzEquipFunc.order;
|
break;
|
}
|
}
|
}
|
else
|
{
|
ComposeModel.SetCurComposeModel(null);
|
}
|
|
}
|
|
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()
|
{
|
ComposeModel.ResetJumpToModel();
|
selectModel.ClearSelectModel();
|
|
}
|
|
protected override void OnAfterClose()
|
{
|
if (!WindowJumpMgr.Instance.IsJumpState)
|
{
|
ComposeModel.SetCurComposeModel(null);
|
WindowCenter.Instance.Open<MainInterfaceWin>();
|
}
|
}
|
|
#endregion
|
|
private void OnClickRightBtn()
|
{
|
_funcBtnGroup.TriggerNext();
|
}
|
|
private void OnClickLeftBtn()
|
{
|
_funcBtnGroup.TriggerLast();
|
}
|
|
|
private void ClickDogzEquipCompose()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<ComposeDogzEquipWin>();
|
functionOrder = _dogzEquipFunc.order;
|
}
|
|
private void OnClickItemCompose()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<ComposeToolsWin>();
|
|
functionOrder = _itemUITitleType.order;
|
}
|
|
private void OnClickEquipCompose()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<ComposeEquipWin>();
|
|
functionOrder = _equipUITitleType.order;
|
}
|
|
private void OnClickGodEquipCompose()
|
{
|
|
functionOrder = _godequipUITitleType.order;
|
}
|
|
private void OnClickTicketCompose()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<ComposeTicketWin>();
|
|
functionOrder = _ticketUITitleType.order;
|
}
|
|
private void OnClickWingsCompose()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<ComposeWingsWin>();
|
|
functionOrder = _wingsUITitleType.order;
|
}
|
|
private void GatherSoulCompose()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<GatherSoulComposeWin>();
|
|
functionOrder = m_GatherSoulCompose.order;
|
}
|
|
|
private void CloseSubWindows()
|
{
|
var children = WindowConfig.Get().FindChildWindows("ComposeWin");
|
foreach (var window in children)
|
{
|
WindowCenter.Instance.Close(window);
|
}
|
}
|
|
public void OnClickCloseBtn()
|
{
|
if (ComposeModel.CurComposeModel != null)
|
{
|
ComposeModel.SetCurComposeModel(null);
|
}
|
CloseSubWindows();
|
CloseImmediately();
|
}
|
|
}
|
|
}
|
|
|
|
|