//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Friday, September 08, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
public class ComposeWin : OneLevelWin
|
{
|
Dictionary<int, FunctionButton> m_FunctionButtons = new Dictionary<int, FunctionButton>();
|
|
ComposeWinModel ComposeModel { get { return ModelCenter.Instance.GetModel<ComposeWinModel>(); } }
|
SelectEquipModel selectModel { get { return ModelCenter.Instance.GetModel<SelectEquipModel>(); } }
|
|
#region Built-in
|
protected override void BindController()
|
{
|
m_TitleIcon = this.GetComponent<Image>("Pivot/Container_BackGround/Img_Title");
|
m_Group = this.GetComponent<FunctionButtonGroup>("Pivot/Container_Functions");
|
m_Left = this.GetComponent<Button>("Pivot/Container_Buttons/Btn_Left");
|
m_Right = this.GetComponent<Button>("Pivot/Container_Buttons/Btn_Right");
|
m_Close = this.GetComponent<Button>("Pivot/Container_Buttons/Btn_Close");
|
|
m_SubWindowContainer = this.GetComponent<RectTransform>("Pivot/Container_SubWindow");
|
|
var name = this.GetType().Name;
|
var infos = WindowConfig.GetWindowFunctionInfos(name);
|
foreach (var info in infos)
|
{
|
m_FunctionButtons.Add(info.order,
|
m_Group.AddFunction("FunctionButton_Pattern_1", info.order, info.functionId, Language.Get(info.titleKey), info.redPointId));
|
}
|
|
m_TitleIcon.SetSprite(WindowConfig.GetTitleIconKey(name));
|
m_TitleIcon.SetNativeSize();
|
}
|
|
protected override void AddListeners()
|
{
|
base.AddListeners();
|
|
//SetFunctionListener(1, OnClickWingsCompose);
|
SetFunctionListener(5, OnClickItemCompose); //道具
|
SetFunctionListener(4, OnClickEquipCompose); //装备
|
SetFunctionListener(2, OnClickTicketCompose); //红装
|
}
|
|
protected override void OnPreOpen()
|
{
|
base.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.Ticket:
|
//红装
|
functionOrder = 2;
|
break;
|
case ComposeFuncType.Equip:
|
functionOrder = 4;
|
break;
|
case ComposeFuncType.Item:
|
functionOrder = 5;
|
break;
|
case ComposeFuncType.GatherSoul:
|
functionOrder = 7;
|
break;
|
}
|
}
|
}
|
else
|
{
|
ComposeModel.SetCurComposeModel(null);
|
}
|
}
|
|
protected override void OnActived()
|
{
|
if (functionOrder == 0 && !WindowJumpMgr.Instance.IsJumpState)
|
{
|
if (ComposeModel.composeToolRed.state == RedPointState.Simple)
|
{
|
functionOrder = 0;
|
}
|
}
|
|
base.OnActived();
|
}
|
|
protected override void OnPreClose()
|
{
|
ComposeModel.ResetJumpToModel();
|
selectModel.ClearSelectModel();
|
base.OnPreClose();
|
}
|
|
protected override void OnAfterClose()
|
{
|
if (!WindowJumpMgr.Instance.IsJumpState)
|
{
|
ComposeModel.SetCurComposeModel(null);
|
}
|
|
base.OnAfterClose();
|
}
|
|
#endregion
|
|
private void OnClickItemCompose()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<ComposeToolsWin>();
|
functionOrder = 5;
|
}
|
|
private void OnClickEquipCompose()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<ComposeEquipWin>();
|
functionOrder = 4;
|
}
|
|
private void OnClickTicketCompose()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<ComposeTicketWin>();
|
functionOrder = 2;
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|