using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.EventSystems;
|
using UnityEngine.UI;
|
using System.Linq;
|
|
using EnhancedUI.EnhancedScroller;
|
|
namespace Snxxz.UI
|
{
|
public class RunePanel : Window
|
{
|
[SerializeField] FunctionButtonGroup functionButtonGroup;
|
[SerializeField] FunctionButton functionRuneMosaic;
|
[SerializeField] FunctionButton functionRuneBreak;
|
[SerializeField] FunctionButton functionRuneMixture;
|
[SerializeField] Button leftBtn;
|
[SerializeField] Button rightBtn;
|
[SerializeField] Button closeBtn;
|
|
RuneModel model { get { return ModelCenter.Instance.GetModel<RuneModel>(); } }
|
|
protected override void BindController()
|
{
|
|
}
|
|
protected override void AddListeners()
|
{
|
leftBtn.onClick.AddListener(functionButtonGroup.TriggerLast);
|
rightBtn.onClick.AddListener(functionButtonGroup.TriggerNext);
|
closeBtn.onClick.AddListener(CloseClick);
|
functionRuneMosaic.onClick.AddListener(OnRuneMosaic);
|
functionRuneBreak.onClick.AddListener(OnRuneBreak);
|
functionRuneMixture.onClick.AddListener(OnRuneMixture);
|
}
|
private void OnRuneMixture()
|
{
|
CloseChild();
|
functionOrder = 2;
|
WindowCenter.Instance.Open<RuneComposeWin>();
|
}
|
|
private void OnRuneBreak()
|
{
|
CloseChild();
|
functionOrder = 1;
|
WindowCenter.Instance.Open<RuneResolveWin>();
|
}
|
|
private void OnRuneMosaic()
|
{
|
CloseChild();
|
functionOrder = 0;
|
WindowCenter.Instance.Open<RuneMosaicWin>();
|
}
|
|
protected override void OnPreOpen()
|
{
|
model.onJumpToCompose += JumpToComposeEvent;
|
CloseChild();
|
}
|
|
protected override void OnActived()
|
{
|
base.OnActived();
|
functionButtonGroup.TriggerByOrder(functionOrder);
|
}
|
protected override void OnAfterOpen()
|
{
|
}
|
protected override void OnPreClose()
|
{
|
model.onJumpToCompose -= JumpToComposeEvent;
|
CloseChild();
|
}
|
protected override void OnAfterClose()
|
{
|
if (!WindowJumpMgr.Instance.IsJumpState)
|
{
|
WindowCenter.Instance.Open<MainInterfaceWin>();
|
}
|
}
|
|
private void CloseChild()
|
{
|
var children = WindowConfig.Get().FindChildWindows("RunePanel");
|
foreach (var window in children)
|
{
|
WindowCenter.Instance.Close(window);
|
}
|
}
|
|
private void JumpToComposeEvent()
|
{
|
functionButtonGroup.TriggerByOrder(2);
|
}
|
}
|
}
|
|