//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, April 18, 2019 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class AlchemyBaseWin : Window { [SerializeField] FunctionButtonGroup m_FuncGroup; [SerializeField] FunctionButton m_AlchemyNormal; [SerializeField] FunctionButton m_AlchemyFairy; [SerializeField] FunctionButton m_AlchemyDrug; [SerializeField] Button m_Close; [SerializeField] Button m_Left; [SerializeField] Button m_Right; #region Built-in protected override void BindController() { } protected override void AddListeners() { m_AlchemyNormal.AddListener(ShowAlchemyNormal); m_AlchemyFairy.AddListener(ShowAlchemyFairy); m_AlchemyDrug.AddListener(ShowAlchemyDrug); m_Left.AddListener(()=> { m_FuncGroup.TriggerLast(); }); m_Right.AddListener(()=> { m_FuncGroup.TriggerNext(); }); m_Close.AddListener(CloseClick); } protected override void OnPreOpen() { } protected override void OnActived() { base.OnActived(); m_FuncGroup.TriggerByOrder(functionOrder); } protected override void OnAfterOpen() { } protected override void OnPreClose() { CloseSubWindows(); if (!WindowJumpMgr.Instance.IsJumpState) { WindowCenter.Instance.Open(); } } protected override void OnAfterClose() { } #endregion private void ShowAlchemyFairy() { CloseSubWindows(); WindowCenter.Instance.Open(); functionOrder = m_AlchemyFairy.order; } private void ShowAlchemyNormal() { CloseSubWindows(); WindowCenter.Instance.Open(); functionOrder = m_AlchemyNormal.order; } private void ShowAlchemyDrug() { CloseSubWindows(); WindowCenter.Instance.Open(); functionOrder = m_AlchemyDrug.order; } private void CloseSubWindows() { var children = WindowConfig.Get().FindChildWindows("AlchemyBaseWin"); foreach (var window in children) { WindowCenter.Instance.Close(window); } } } }