using UnityEngine; using vnxbqy.UI; public class CelestialPalaceButtonGroupWin : Window { [SerializeField] ButtonEx btnHell; [SerializeField] ButtonEx btnTree; [SerializeField] ButtonEx btnShop; [SerializeField] ButtonEx btnClose; [SerializeField] ImageEx imgHellChoose; [SerializeField] ImageEx imgTreeChoose; [SerializeField] ImageEx imgShopChoose; CelestialPalaceModel model { get { return ModelCenter.Instance.GetModel(); } } protected override void BindController() { btnClose.SetListener(CloseClick); btnHell.SetListener(() => { model.currentSelectedTabButtonType = 0; OnClickedTab(model.currentSelectedTabButtonType); }); btnTree.SetListener(() => { model.currentSelectedTabButtonType = 1; OnClickedTab(model.currentSelectedTabButtonType); }); btnShop.SetListener(() => { model.currentSelectedTabButtonType = 2; OnClickedTab(model.currentSelectedTabButtonType); }); } protected override void OnPreOpen() { model.SelectedTabButtonClickedEvent += OnSelectedTabButtonClickedEvent; ChooseImageShow(model.currentSelectedTabButtonType); } protected override void OnPreClose() { model.SelectedTabButtonClickedEvent -= OnSelectedTabButtonClickedEvent; CloseAll(); } private void OnSelectedTabButtonClickedEvent(int obj) { ChooseImageShow(obj); } private void CloseAll() { if (WindowCenter.Instance.IsOpen()) WindowCenter.Instance.Close(); if (WindowCenter.Instance.IsOpen()) WindowCenter.Instance.Close(); CloseTab(); } private void CloseTab() { if (WindowCenter.Instance.IsOpen()) WindowCenter.Instance.Close(); if (WindowCenter.Instance.IsOpen()) WindowCenter.Instance.Close(); if (WindowCenter.Instance.IsOpen()) WindowCenter.Instance.Close(); } private void OnClickedTab(int type) { CloseTab(); if (type == 0) { WindowCenter.Instance.Open(); } else if (type == 1) { WindowCenter.Instance.Open(); } else if (type == 2) { WindowCenter.Instance.Open(); } ChooseImageShow(type); } public void ChooseImageShow(int type) { imgHellChoose.SetActive(type == 0); imgTreeChoose.SetActive(type == 1); imgShopChoose.SetActive(type == 2); } protected override void OnAfterOpen() { } protected override void OnAfterClose() { } protected override void AddListeners() { } }