//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, October 24, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class VipRechargeWin : Window { [SerializeField] Button leftBtn; [SerializeField] Button rightBtn; [SerializeField] Button closeBtn; [SerializeField] FunctionButton vipPayTitleBtn; [SerializeField] FunctionButton vipTitleBtn; [SerializeField] FunctionButtonGroup buttonGroup; private VipModel m_Model; private VipModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel(); } } FairyJadeInvestmentModel m_FairyJadeInvestmentModel; FairyJadeInvestmentModel fairyJadeInvestmentModel { get { return m_FairyJadeInvestmentModel ?? (m_FairyJadeInvestmentModel = ModelCenter.Instance.GetModel()); } } private VipModel.VipWinType presentWinType = VipModel.VipWinType.Vip; #region Built-in protected override void BindController() { } protected override void AddListeners() { leftBtn.onClick.AddListener(buttonGroup.TriggerLast); rightBtn.onClick.AddListener(buttonGroup.TriggerNext); closeBtn.onClick.AddListener(OnClose); vipPayTitleBtn.onClick.AddListener(OnVipPay); vipTitleBtn.onClick.AddListener(OnVip); } public void OnVipPay() { CloseChildWin(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation(); } else { WindowCenter.Instance.Open(); } presentWinType = VipModel.VipWinType.Pay; functionOrder = 0; } private void OnVip() { CloseChildWin(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation(); } else { WindowCenter.Instance.Open(); } presentWinType = VipModel.VipWinType.Vip; functionOrder = 1; } protected override void OnPreOpen() { CloseChildWin(); model.OnVipOpenPayWinEvent += OnVipWinOpenEvnet; RechargeTipWin.JumpVipPanel += JumpVipPanel; } private void JumpVipPanel() { functionOrder = 0; buttonGroup.TriggerByOrder(functionOrder); } protected override void OnActived() { base.OnActived(); buttonGroup.TriggerByOrder(functionOrder); } protected override void OnAfterOpen() { } protected override void OnPreClose() { CloseChildWin(); model.OnVipOpenPayWinEvent -= OnVipWinOpenEvnet; RechargeTipWin.JumpVipPanel -= JumpVipPanel; } protected override void OnAfterClose() { if (!WindowJumpMgr.Instance.IsJumpState) { WindowCenter.Instance.Open(); ModelCenter.Instance.GetModel().CheckOpenTreasureNewGot(); } } #endregion private void OnClose() { if (treasureModel.newGotTreasureId != 0) { WindowJumpMgr.Instance.ClearJumpData(); } CloseImmediately(); } private void CloseChildWin() { if (WindowCenter.Instance.CheckOpen()) { WindowCenter.Instance.CloseImmediately(); } if (WindowCenter.Instance.CheckOpen()) { WindowCenter.Instance.CloseImmediately(); } } private void OnVipWinOpenEvnet() { if (presentWinType == model.vipWinType) { return; } switch (model.vipWinType) { case VipModel.VipWinType.Pay: OnVipPay(); vipPayTitleBtn.state = TitleBtnState.Click; break; case VipModel.VipWinType.Vip: vipTitleBtn.state = TitleBtnState.Click; OnVip(); break; } } } }