yyl
2026-03-26 f4a702e212d1853735f8dae399da69d23bfa510e
Main/System/Main/HomeWin.cs
@@ -67,8 +67,12 @@
    [SerializeField] Button osMainLevelBtn;
    [SerializeField] Button osHeroCallBtn;
    [SerializeField] Button osGalaBtn;
    [SerializeField] Button osHeroTrainBtn;
    [SerializeField] Button osBeautyMMBtn;
    [SerializeField] TimingGiftCell timingGiftCell;
    [SerializeField] Button osMinggeBtn;
    [SerializeField] TimeRushCell timeRushCell;
    [SerializeField] HeroDebutCell heroDebutCell;
    //坐骑
    [SerializeField] Image horseBGImg;
@@ -211,7 +215,18 @@
        {
            UIManager.Instance.OpenWindowAsync<OSGalaBaseWin>().Forget();
        });
        osBeautyMMBtn.AddListener(() =>
        {
            UIManager.Instance.OpenWindow<OSBeautyMMBaseWin>();
        });
        osHeroTrainBtn.AddListener(() =>
        {
            UIManager.Instance.OpenWindow<OSHeroTrainBaseWin>();
        });
        osMinggeBtn.AddListener(() =>
        {
            UIManager.Instance.OpenWindow<OSMinggeBaseWin>();
        });
        DailySpecialsBtns.AddListener(() =>
        {
            UIManager.Instance.OpenWindowAsync<DailySpecialsBaseWin>().Forget();
@@ -233,7 +248,7 @@
        DisplayLevel();
        DisplayRestState();
        funcColBtn.SetActive(FuncOpen.Instance.IsFuncOpen(GeneralDefine.mainRightFuncOpenFuncID));
        funcColBtn.SetActive(FuncOpen.Instance.IsFuncOpen(GeneralDefine.mainRightFuncOpenFuncID) || SmallFuncManager.Instance.IsReviewOpen());
        officialTip.SetActive(OfficialRankManager.Instance.CanOfficialLVUP());
        DisplayHorse();
@@ -272,6 +287,7 @@
        UIManager.Instance.OnOpenWindow += OnOpenWindow;
        TimingGiftManager.Instance.OnShowGiftIdListAddEvent += OnShowGiftIdListAddEvent;
        OpenServerActivityCenter.Instance.openServerActivityStateChange += OpenServerActivityStateChange;
        OperationTimeHepler.Instance.operationTimeUpdateEvent += OnOperationTimeUpdateEvent;
        TryPlayAutoFightBoss();
        Display();
        DisplayFirstChargeBtn();
@@ -279,7 +295,7 @@
        timingGiftCell.InitUI().Forget();
        DisplayTimeRush();
        DisplayHeroDebut();
        DelayPlayMusic().Forget();
    }
@@ -309,13 +325,24 @@
        UIManager.Instance.OnOpenWindow -= OnOpenWindow;
        TimingGiftManager.Instance.OnShowGiftIdListAddEvent -= OnShowGiftIdListAddEvent;
        OpenServerActivityCenter.Instance.openServerActivityStateChange -= OpenServerActivityStateChange;
        OperationTimeHepler.Instance.operationTimeUpdateEvent -= OnOperationTimeUpdateEvent;
        //  关闭的时候把战斗界面也给关了 虽然是在外面开的
        UIManager.Instance.CloseWindow<BattleWin>();
    }
    private void OnOperationTimeUpdateEvent(OperationType type)
    {
        if (type == OperationType.HeroDebut)
        {
            DisplayHeroDebut();
        }
    }
    private void OpenServerActivityStateChange()
    {
        DisplayTimeRush();
        DisplayHeroDebut();
    }
    private void OnShowGiftIdListAddEvent()
@@ -349,8 +376,7 @@
    private void OnClickChatBtn()
    {
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Chat, true))
            return;
        //transFastChat.SetActive(true);
        // transChatInfo.SetActive(false);
@@ -359,7 +385,7 @@
        bool hasLastTalkData = ChatManager.Instance.TryGetLastTalkData(out ChatChannel type, out TalkData data);
        if (!hasLastTalkData)
        {
            ChatManager.Instance.nowChatTab = ChatTab.World;
            ChatManager.Instance.nowChatTab = ChatChannel.World;
            ChatManager.Instance.nowChatChannel = ChatChannel.World;
        }
        else
@@ -368,15 +394,15 @@
            {
                case ChatChannel.World:
                default:
                    ChatManager.Instance.nowChatTab = ChatTab.World;
                    ChatManager.Instance.nowChatTab = ChatChannel.World;
                    ChatManager.Instance.nowChatChannel = ChatChannel.World;
                    break;
                case ChatChannel.Guild:
                    ChatManager.Instance.nowChatTab = ChatTab.Guild;
                    ChatManager.Instance.nowChatTab = ChatChannel.Guild;
                    ChatManager.Instance.nowChatChannel = ChatChannel.Guild;
                    break;
                case ChatChannel.CrossServer:
                    ChatManager.Instance.nowChatTab = ChatTab.CrossServer;
                    ChatManager.Instance.nowChatTab = ChatChannel.CrossServer;
                    ChatManager.Instance.nowChatChannel = ChatChannel.CrossServer;
                    break;
            }
@@ -439,7 +465,7 @@
        }
    }
    private void OnChatTabChangeEvent(ChatTab tab)
    private void OnChatTabChangeEvent(ChatChannel tab)
    {
        //UpdateChat(tab);
    }
@@ -678,7 +704,7 @@
    private void OnCloseWindow(UIBase closeUI)
    {
        //其他武将功能产生数据变化,需要刷新武将列表
        if (closeUI is HeroTrainWin)
        if (closeUI is HeroTrainBaseWin)
        {
            DisplayCard(TeamManager.Instance.GetMainTeamID());
        }
@@ -814,7 +840,8 @@
            DisplayHorse();
        }
        else if (funcId == (int)FuncOpenEnum.OSMainLevl || funcId == (int)FuncOpenEnum.OSHeroCall
        || funcId == (int)FuncOpenEnum.OSGala)
        || funcId == (int)FuncOpenEnum.OSGala|| funcId == (int)FuncOpenEnum.OSHeroTrain
        || funcId == (int)FuncOpenEnum.OSBeautyMM  || funcId == (int)FuncOpenEnum.OSMingge)
        {
            DisplayOSActivity();
        }
@@ -829,6 +856,10 @@
        else if (funcId == (int)FuncOpenEnum.TimeRush)
        {
            DisplayTimeRush();
        }
        else if (funcId == (int)FuncOpenEnum.HeroDebut)
        {
            DisplayHeroDebut();
        }
    }
@@ -877,6 +908,9 @@
    {
        osMainLevelBtn.SetActive(OSActivityManager.Instance.IsOpened(3));
        osHeroCallBtn.SetActive(OSActivityManager.Instance.IsOpened(4));
        osHeroTrainBtn.SetActive(OSActivityManager.Instance.IsOpened(7));
        osBeautyMMBtn.SetActive(OSActivityManager.Instance.IsOpened(8));
        osMinggeBtn.SetActive(OSActivityManager.Instance.IsOpened(9));
        osGalaBtn.SetActive(OSActivityManager.Instance.IsOpenedOSGala());
    }
@@ -894,6 +928,15 @@
            return;
        timeRushCell.InitUI();
    }
    void DisplayHeroDebut()
    {
        bool isOpen = HeroDebutManager.Instance.IsHeroDebutOpen();
        heroDebutCell.SetActive(isOpen);
        if (!isOpen)
            return;
        heroDebutCell.Display();
    }
}