using System;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
namespace vnxbqy.UI
|
{
|
public class SkillWin : OneLevelWin
|
{
|
[SerializeField] float m_OnDragDelay = 0.1f;
|
|
Dictionary<int, FunctionButton> m_FunctionButtons = new Dictionary<int, FunctionButton>();
|
|
SkillModel m_Model;
|
SkillModel model {
|
get {
|
return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<SkillModel>());
|
}
|
}
|
|
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();
|
|
model.onDragDelay = m_OnDragDelay;
|
}
|
|
protected override void AddListeners()
|
{
|
base.AddListeners();
|
SetFunctionListener(1, OnAccordFunc);
|
SetFunctionListener(0, OnTreasureSkillFunc);
|
SetFunctionListener(2, OnPassFunc);
|
SetFunctionListener(3, OnTalentFunc);
|
}
|
|
protected override void OnPreOpen()
|
{
|
base.OnPreOpen();
|
var functionId = m_FunctionButtons[3].functionId;
|
m_FunctionButtons[3].SetActive(functionId == 0 ||
|
FuncOpen.Instance.IsFuncOpen(functionId));
|
}
|
|
private void OnPassFunc()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<SkillPassWin>();
|
functionOrder = 2;
|
}
|
|
private void OnTalentFunc()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<TalentWin>();
|
functionOrder = 3;
|
}
|
|
private void OnAccordFunc()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<SkillAccordWin>();
|
functionOrder = 1;
|
}
|
|
private void OnTreasureSkillFunc()
|
{
|
CloseSubWindows();
|
WindowCenter.Instance.Open<TreasureSkillWin>();
|
functionOrder = 0;
|
}
|
|
protected override void OnActived()
|
{
|
base.OnActived();
|
}
|
|
protected override void OnAfterClose()
|
{
|
if (!WindowJumpMgr.Instance.IsJumpState)
|
{
|
WindowCenter.Instance.Open<MainInterfaceWin>();
|
}
|
}
|
}
|
}
|
|