少年修仙传客户端代码仓库
client_Wu Xijin
2018-08-24 1d24fbd1655e724eebb2e717c9f0ed80e881b582
System/FairyAu/UnionPanel.cs
@@ -1,195 +1,198 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    //仙盟系统面板控制器
    public class UnionPanel : Window
    {
        #region 界面
        [SerializeField] GameObject funcPanel;
        #endregion
        [SerializeField] Button _CloseBtn;//关闭按钮
        [SerializeField] Button _LeftBtn;//向左按钮
        [SerializeField] Button _RightBtn;//向右按钮
        [SerializeField] FunctionButton _FunctionsBtn;//基本功能
        [SerializeField] FunctionButton _MemberListBtn;//成员列表
        [SerializeField] FunctionButton _UnionLisBtn;//仙盟列表
        [SerializeField] FunctionButton _UnionLeagueBtn;//仙盟联赛
        [SerializeField] FunctionButton _KingTemperBtn;//王者圣殿
        [SerializeField] FunctionButtonGroup buttonGroup;
        private void OnRefreshFairyMine()
        {
            if (!PlayerDatas.Instance.fairyData.HasFairy)
            {
                InitFairyFunc();
                buttonGroup.TriggerByOrder(3);
            }
        }
        private void OnRefreshFariyInfo()
        {
            if (!_MemberListBtn.gameObject.activeInHierarchy)
            {
                InitFairyFunc();
                buttonGroup.TriggerByOrder(2);
            }
        }
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            _FunctionsBtn.AddListener(OnBaseFunc);
            _MemberListBtn.AddListener(OnMemberList);
            _UnionLisBtn.AddListener(OnUnionList);
            _UnionLeagueBtn.AddListener(OnUnionLeague);
            _KingTemperBtn.AddListener(OnKingTemper);
            _CloseBtn.onClick.AddListener(CloseClick);
            _RightBtn.onClick.AddListener(buttonGroup.TriggerNext);
            _LeftBtn.onClick.AddListener(buttonGroup.TriggerLast);
        }
        private void OnKingTemper()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<KingTempleWin>();
            }
            else
            {
                WindowCenter.Instance.Open<KingTempleWin>();
            }
            functionOrder = 5;
        }
        private void OnUnionLeague()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<FairyLeagueWin>();
            }
            else
            {
                WindowCenter.Instance.Open<FairyLeagueWin>();
            }
            functionOrder = 4;
        }
        private void OnUnionList()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<FairyApplyWin>();
            }
            else
            {
                WindowCenter.Instance.Open<FairyApplyWin>();
            }
            functionOrder = 3;
        }
        private void OnMemberList()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<FairyMemberWin>();
            }
            else
            {
                WindowCenter.Instance.Open<FairyMemberWin>();
            }
            functionOrder = 2;
        }
        private void OnBaseFunc()
        {
            CloseChildWin();
            funcPanel.SetActive(true);
            functionOrder = 1;
        }
        protected override void OnPreOpen()
        {
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFariyInfo;
            PlayerDatas.Instance.fairyData.OnRefreshFairyMine += OnRefreshFairyMine;
            InitFairyFunc();
        }
        protected override void OnActived()
        {
            base.OnActived();
            buttonGroup.TriggerByOrder(functionOrder);
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            CloseChildWin();
        }
        protected override void OnAfterClose()
        {
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFariyInfo;
            PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= OnRefreshFairyMine;
            WindowCenter.Instance.Open<MainInterfaceWin>();
        }
        void CloseChildWin()
        {
            funcPanel.SetActive(false);
            if (WindowCenter.Instance.CheckOpen<FairyApplyWin>())
            {
                WindowCenter.Instance.CloseImmediately<FairyApplyWin>();
            }
            if (WindowCenter.Instance.CheckOpen<FairyMemberWin>())
            {
                WindowCenter.Instance.CloseImmediately<FairyMemberWin>();
            }
            if (WindowCenter.Instance.CheckOpen<FairyLeagueWin>())
            {
                WindowCenter.Instance.CloseImmediately<FairyLeagueWin>();
            }
            if (WindowCenter.Instance.CheckOpen<KingTempleWin>())
            {
                WindowCenter.Instance.CloseImmediately<KingTempleWin>();
            }
        }
        void InitFairyFunc()
        {
            if (!PlayerDatas.Instance.fairyData.HasFairy)
            {
                _FunctionsBtn.gameObject.SetActive(false);
                _MemberListBtn.gameObject.SetActive(false);
            }
            else
            {
                _FunctionsBtn.gameObject.SetActive(true);
                _MemberListBtn.gameObject.SetActive(true);
            }
        }
    }
}
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    //仙盟系统面板控制器
    public class UnionPanel : Window
    {
        #region 界面
        [SerializeField] GameObject funcPanel;
        #endregion
        [SerializeField] Button _CloseBtn;//关闭按钮
        [SerializeField] Button _LeftBtn;//向左按钮
        [SerializeField] Button _RightBtn;//向右按钮
        [SerializeField] FunctionButton _FunctionsBtn;//基本功能
        [SerializeField] FunctionButton _MemberListBtn;//成员列表
        [SerializeField] FunctionButton _UnionLisBtn;//仙盟列表
        [SerializeField] FunctionButton _UnionLeagueBtn;//仙盟联赛
        [SerializeField] FunctionButton _KingTemperBtn;//王者圣殿
        [SerializeField] FunctionButtonGroup buttonGroup;
        private void OnRefreshFairyMine()
        {
            if (!PlayerDatas.Instance.fairyData.HasFairy)
            {
                InitFairyFunc();
                buttonGroup.TriggerByOrder(3);
            }
        }
        private void OnRefreshFariyInfo()
        {
            if (!_MemberListBtn.gameObject.activeInHierarchy)
            {
                InitFairyFunc();
                buttonGroup.TriggerByOrder(2);
            }
        }
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            _FunctionsBtn.AddListener(OnBaseFunc);
            _MemberListBtn.AddListener(OnMemberList);
            _UnionLisBtn.AddListener(OnUnionList);
            _UnionLeagueBtn.AddListener(OnUnionLeague);
            _KingTemperBtn.AddListener(OnKingTemper);
            _CloseBtn.onClick.AddListener(CloseClick);
            _RightBtn.onClick.AddListener(buttonGroup.TriggerNext);
            _LeftBtn.onClick.AddListener(buttonGroup.TriggerLast);
        }
        private void OnKingTemper()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<KingTempleWin>();
            }
            else
            {
                WindowCenter.Instance.Open<KingTempleWin>();
            }
            functionOrder = 5;
        }
        private void OnUnionLeague()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<FairyLeagueWin>();
            }
            else
            {
                WindowCenter.Instance.Open<FairyLeagueWin>();
            }
            functionOrder = 4;
        }
        private void OnUnionList()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<FairyApplyWin>();
            }
            else
            {
                WindowCenter.Instance.Open<FairyApplyWin>();
            }
            functionOrder = 3;
        }
        private void OnMemberList()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<FairyMemberWin>();
            }
            else
            {
                WindowCenter.Instance.Open<FairyMemberWin>();
            }
            functionOrder = 2;
        }
        private void OnBaseFunc()
        {
            CloseChildWin();
            funcPanel.SetActive(true);
            functionOrder = 1;
        }
        protected override void OnPreOpen()
        {
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFariyInfo;
            PlayerDatas.Instance.fairyData.OnRefreshFairyMine += OnRefreshFairyMine;
            InitFairyFunc();
        }
        protected override void OnActived()
        {
            base.OnActived();
            buttonGroup.TriggerByOrder(functionOrder);
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            CloseChildWin();
        }
        protected override void OnAfterClose()
        {
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFariyInfo;
            PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= OnRefreshFairyMine;
            if (!WindowJumpMgr.Instance.IsJumpState)
            {
                WindowCenter.Instance.Open<MainInterfaceWin>();
            }
        }
        void CloseChildWin()
        {
            funcPanel.SetActive(false);
            if (WindowCenter.Instance.CheckOpen<FairyApplyWin>())
            {
                WindowCenter.Instance.CloseImmediately<FairyApplyWin>();
            }
            if (WindowCenter.Instance.CheckOpen<FairyMemberWin>())
            {
                WindowCenter.Instance.CloseImmediately<FairyMemberWin>();
            }
            if (WindowCenter.Instance.CheckOpen<FairyLeagueWin>())
            {
                WindowCenter.Instance.CloseImmediately<FairyLeagueWin>();
            }
            if (WindowCenter.Instance.CheckOpen<KingTempleWin>())
            {
                WindowCenter.Instance.CloseImmediately<KingTempleWin>();
            }
        }
        void InitFairyFunc()
        {
            if (!PlayerDatas.Instance.fairyData.HasFairy)
            {
                _FunctionsBtn.gameObject.SetActive(false);
                _MemberListBtn.gameObject.SetActive(false);
            }
            else
            {
                _FunctionsBtn.gameObject.SetActive(true);
                _MemberListBtn.gameObject.SetActive(true);
            }
        }
    }
}