From e19bcaa7ced9d17f7dae4672ae0c41710e178a60 Mon Sep 17 00:00:00 2001 From: lcy <1459594991@qq.com> Date: 星期四, 09 十月 2025 09:53:15 +0800 Subject: [PATCH] 218 子 【付费内容】首充 / 【付费内容】首充-客户端 --- Main/System/Main/HomeWin.cs | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 51 insertions(+), 3 deletions(-) diff --git a/Main/System/Main/HomeWin.cs b/Main/System/Main/HomeWin.cs index 20c62b6..e3d2826 100644 --- a/Main/System/Main/HomeWin.cs +++ b/Main/System/Main/HomeWin.cs @@ -1,3 +1,4 @@ +using System; using System.Collections; using System.Collections.Generic; using UnityEngine; @@ -53,6 +54,7 @@ //鍏朵粬鍔熻兘鍏ュ彛 [SerializeField] Button monthCardBtn; + [SerializeField] Button FirstChargeBtn; /// <summary> /// 鍒濆鍖栫粍浠� @@ -83,6 +85,11 @@ InvestModel.Instance.BuyInvest(InvestModel.monthCardType); }); + FirstChargeBtn.AddListener(() => + { + UIManager.Instance.OpenWindow<FirstChargeWin>(); + }); + blessLVBtn.AddListener(() => { UIManager.Instance.OpenWindow<BlessLVWin>(); @@ -92,7 +99,7 @@ { UIManager.Instance.OpenWindow<MailWin>(); }); - + officialUpBtn.AddListener(() => { if (RealmConfig.GetKeys().Count <= PlayerDatas.Instance.baseData.realmLevel) @@ -128,7 +135,12 @@ AutoFightModel.Instance.OnFightEvent += ChangeMode; TeamManager.Instance.OnTeamChange += DisplayCard; UIManager.Instance.OnCloseWindow += OnCloseWindow; + FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChange; + FirstChargeManager.Instance.OnUpdateFirstChargeInfo += OnUpdateFirstChargeInfo; + GlobalTimeEvent.Instance.secondEvent += OnSecondEvent; Display(); + DisplayFirstChargeBtn(); + // var battleWin = UIManager.Instance.OpenWindow<BattleWin>(); // battleWin.SetBattleField(BattleManager.Instance.storyBattleField); } @@ -144,6 +156,9 @@ AutoFightModel.Instance.OnFightEvent -= ChangeMode; TeamManager.Instance.OnTeamChange -= DisplayCard; UIManager.Instance.OnCloseWindow -= OnCloseWindow; + FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChange; + FirstChargeManager.Instance.OnUpdateFirstChargeInfo -= OnUpdateFirstChargeInfo; + GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent; // 鍏抽棴鐨勬椂鍊欐妸鎴樻枟鐣岄潰涔熺粰鍏充簡 铏界劧鏄湪澶栭潰寮�鐨� UIManager.Instance.CloseWindow<BattleWin>(); @@ -174,7 +189,7 @@ break; case PlayerDataType.LV: if (lastLV != PlayerDatas.Instance.baseData.LV) - { + { lastLV = PlayerDatas.Instance.baseData.LV; lvUPEffect.Play(); } @@ -375,11 +390,44 @@ } void GotoRest() - { + { if (BattleManager.Instance.storyBattleField != null && BattleManager.Instance.storyBattleField.GetBattleMode() != BattleMode.Stop) { BattleManager.Instance.storyBattleField.HaveRest(); } } + + private void DisplayFirstChargeBtn() + { + bool isFirstChargeFuncOpen = FuncOpen.Instance.IsFuncOpen(FirstChargeManager.FuncID); + if (FirstChargeManager.Instance.IsAllFirstChargeRewardsClaimed() && + FirstChargeManager.Instance.IsNextDayAfterAllClaimed()) + { + FirstChargeBtn.SetActive(false); + } + else + { + FirstChargeBtn.SetActive(isFirstChargeFuncOpen); + } + + } + + private void OnFuncStateChange(int funcId) + { + if (funcId == FirstChargeManager.FuncID) + { + DisplayFirstChargeBtn(); + } + } + + private void OnUpdateFirstChargeInfo() + { + DisplayFirstChargeBtn(); + } + + private void OnSecondEvent() + { + DisplayFirstChargeBtn(); + } } \ No newline at end of file -- Gitblit v1.8.0