//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, October 27, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class SettingUpWin : Window { [SerializeField] private Button _leftBtn; [SerializeField] private Button _rightBtn; [SerializeField] private Button _closeBtn; [SerializeField] private List allSetWinlist = new List(); [SerializeField] private FunctionButton hangUpTitle; //挂机设置 [SerializeField] private FunctionButton systemTitle; //系统设置 [SerializeField] private FunctionButton privateTitle; //私人提醒 [SerializeField] private FunctionButton chatTitle; //聊天设置 [SerializeField] private FunctionButton bugTitle; //Bug设置 [SerializeField] private FunctionButtonGroup _funcBtnGroup; #region Built-in protected override void BindController() { } protected override void AddListeners() { hangUpTitle.onClick.AddListener(() => { OnClickHangUpTitle(); }); systemTitle.onClick.AddListener(() => { OnClickSystemTitle(); }); privateTitle.onClick.AddListener(() => { OnClickPrivateTitle(); }); chatTitle.onClick.AddListener(() => { OnClickChatTitle(); }); bugTitle.AddListener(OnClickBugTitle); _leftBtn.onClick.AddListener(OnClickLeftBtn); _rightBtn.onClick.AddListener(OnClickRightBtn); _closeBtn.onClick.AddListener(CloseWin); } protected override void OnPreOpen() { } protected override void OnActived() { base.OnActived(); _funcBtnGroup.TriggerByOrder(functionOrder); } protected override void OnAfterOpen() { transform.SetAsLastSibling(); } protected override void OnPreClose() { } protected override void OnAfterClose() { if (!WindowJumpMgr.Instance.IsJumpState) { WindowCenter.Instance.Open(); } } #endregion private void OnSetShowTips(int order) { int i = 0; int length = allSetWinlist.Count; switch(order) { case 0: for (i = 0; i < length; i++) { if (i == 0) allSetWinlist[i].SetActive(true); else allSetWinlist[i].SetActive(false); } break; case 1: for (i = 0; i < length; i++) { if (i == 1) allSetWinlist[i].SetActive(true); else allSetWinlist[i].SetActive(false); } break; case 2: for (i = 0; i < length; i++) { if (i == 4) allSetWinlist[i].SetActive(true); else allSetWinlist[i].SetActive(false); } break; case 3: for (i = 0; i < length; i++) { if (i == 2) allSetWinlist[i].SetActive(true); else allSetWinlist[i].SetActive(false); } break; case 4: for (i = 0; i < length; i++) { if (i == 3) allSetWinlist[i].SetActive(true); else allSetWinlist[i].SetActive(false); } break; } } private void OnClickRightBtn() { _funcBtnGroup.TriggerNext(); } private void OnClickLeftBtn() { _funcBtnGroup.TriggerLast(); } private void OnClickBugTitle() { functionOrder = bugTitle.order; OnSetShowTips(bugTitle.order); } private void OnClickChatTitle() { functionOrder = chatTitle.order; OnSetShowTips(chatTitle.order); } private void OnClickPrivateTitle() { functionOrder = privateTitle.order; OnSetShowTips(privateTitle.order); } private void OnClickSystemTitle() { functionOrder = systemTitle.order; OnSetShowTips(systemTitle.order); } private void OnClickHangUpTitle() { functionOrder = hangUpTitle.order; OnSetShowTips(hangUpTitle.order); } private void CloseWin() { CloseImmediately(); } } }