lcy
3 天以前 e19bcaa7ced9d17f7dae4672ae0c41710e178a60
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>
    /// 初始化组件
@@ -81,6 +83,11 @@
        monthCardBtn.AddListener(() =>
        {
            InvestModel.Instance.BuyInvest(InvestModel.monthCardType);
        });
        FirstChargeBtn.AddListener(() =>
        {
            UIManager.Instance.OpenWindow<FirstChargeWin>();
        });
        blessLVBtn.AddListener(() =>
@@ -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>();
@@ -382,4 +397,37 @@
            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();
    }
}