From 39001a600fcae2bcf27c225df8752d75fb92fef4 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 31 十月 2025 11:18:26 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/Main/HomeWin.cs |  145 ++++++++++++++++++++++++++++++++++++------------
 1 files changed, 108 insertions(+), 37 deletions(-)

diff --git a/Main/System/Main/HomeWin.cs b/Main/System/Main/HomeWin.cs
index 7c71a7f..fdac2ad 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;
@@ -21,7 +22,7 @@
     [SerializeField] Image awardIcon;
     [SerializeField] Text awardCnt;
     [SerializeField] UIEffectPlayer taskEffect;
-
+    [SerializeField] UIEffectPlayer lvUPEffect;
 
     //鍏冲崱
     [SerializeField] Button bossBtn;
@@ -49,9 +50,13 @@
     [SerializeField] UIEffectPlayer autoOpenEffect;
     [SerializeField] Button blessLVBtn;
     [SerializeField] Text blessLVText;
+    [SerializeField] Button mailBtn;
 
-    //鍏朵粬鍔熻兘鍏ュ彛
-    [SerializeField] Button monthCardBtn;
+    //鍙充晶鍔熻兘
+    [SerializeField] Button funcColBtn;
+    [SerializeField] RightFuncInHome rightFuncInHome;
+
+    [SerializeField] Button FirstChargeBtn;
 
     /// <summary>
     /// 鍒濆鍖栫粍浠�
@@ -59,10 +64,7 @@
     protected override void InitComponent()
     {
         taskButton.AddListener(OnClickTaskButton);
-        bossBtn.AddListener(() =>
-        {
-            UIManager.Instance.OpenWindow<MainBossEnterWin>();
-        });
+        bossBtn.AddListener(OnClickEnterBoss);
 
         changeHeroPosBtn.AddListener(() =>
         {
@@ -72,26 +74,7 @@
 
         autoBtn.AddListener(() =>
         {
-            // //娴嬭瘯鎷惧彇鎵�鏈夌墿鍝�
-            // var items = PackManager.Instance.GetItems(PackType.DropItem);
-            // List<int> dropindexs = new List<int>();
-            // for (int i = 0; i < items.Count; i++)
-            // {
-            //     var item = items[i];
-            //     if (dropindexs.Count > 5)
-            //     {
-            //         EquipModel.Instance.NotifyItemDrop(dropindexs, BattleManager.Instance.storyBattleField.battleRootNode.blueTeamNodeList[Random.Range(0, 5)].GetComponent<RectTransform>());
-            //         dropindexs.Clear();
-            //     }
-
-            //     dropindexs.Add(item.gridIndex);
-            // }
-            // if (dropindexs.Count > 0)
-            // {
-            //     EquipModel.Instance.NotifyItemDrop(dropindexs, BattleManager.Instance.storyBattleField.battleRootNode.blueTeamNodeList[Random.Range(0, 5)].GetComponent<RectTransform>());
-            //     dropindexs.Clear();
-            // }
-            if (!FuncOpen.Instance.IsFuncOpen(108, true))
+            if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.AutoFight, true))
             {
                 return;
             }
@@ -99,14 +82,25 @@
         });
 
 
-        monthCardBtn.AddListener(() =>
+
+
+        FirstChargeBtn.AddListener(() =>
         {
-            InvestModel.Instance.BuyInvest(InvestModel.monthCardType);
+            UIManager.Instance.OpenWindow<FirstChargeWin>();
         });
 
         blessLVBtn.AddListener(() =>
         {
+            if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.BlessLV, true))
+            {
+                return;
+            }
             UIManager.Instance.OpenWindow<BlessLVWin>();
+        });
+
+        mailBtn.AddListener(() =>
+        {
+            UIManager.Instance.OpenWindow<MailWin>();
         });
 
         officialUpBtn.AddListener(() =>
@@ -117,6 +111,10 @@
         });
 
         restBtn.AddListener(GotoRest);
+        funcColBtn.AddListener(()=>
+        {
+            rightFuncInHome.ShowFuncCol(true);
+        });
     }
 
 
@@ -133,6 +131,7 @@
         DisplayLevel();
         DisplayRestState();
 
+        funcColBtn.SetActive(FuncOpen.Instance.IsFuncOpen(GeneralDefine.mainRightFuncOpenFuncID));
     }
 
     protected override void OnPreOpen()
@@ -144,7 +143,13 @@
         AutoFightModel.Instance.OnFightEvent += ChangeMode;
         TeamManager.Instance.OnTeamChange += DisplayCard;
         UIManager.Instance.OnCloseWindow += OnCloseWindow;
+        FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChange;
+        FirstChargeManager.Instance.OnUpdateFirstChargeInfo += OnUpdateFirstChargeInfo;
+        GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
+        HeroUIManager.Instance.OnUnLockHeroCountEvent += OnUnLockHeroCountEvent;
         Display();
+        DisplayFirstChargeBtn();
+
         // var battleWin = UIManager.Instance.OpenWindow<BattleWin>();
         // battleWin.SetBattleField(BattleManager.Instance.storyBattleField);
     }
@@ -160,11 +165,30 @@
         AutoFightModel.Instance.OnFightEvent -= ChangeMode;
         TeamManager.Instance.OnTeamChange -= DisplayCard;
         UIManager.Instance.OnCloseWindow -= OnCloseWindow;
+        FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChange;
+        FirstChargeManager.Instance.OnUpdateFirstChargeInfo -= OnUpdateFirstChargeInfo;
+        GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
+        HeroUIManager.Instance.OnUnLockHeroCountEvent -= OnUnLockHeroCountEvent;
 
         //  鍏抽棴鐨勬椂鍊欐妸鎴樻枟鐣岄潰涔熺粰鍏充簡 铏界劧鏄湪澶栭潰寮�鐨�
         UIManager.Instance.CloseWindow<BattleWin>();
     }
 
+    private void OnClickEnterBoss()
+    {
+        // BattleField battleField = BattleManager.Instance.GetBattleFieldByMapID(2); //BOSS鎴樻枟
+
+        // if (null != battleField)
+        // {
+        //     StoryBossBattleWin fsBattleWin = UIManager.Instance.OpenWindow<StoryBossBattleWin>();
+        //     fsBattleWin.SetBattleField(battleField);
+        //     return;
+        // }
+
+        UIManager.Instance.OpenWindow<MainBossEnterWin>();
+    }
+
+    int lastLV = 0;
     void PlayerDataRefresh(PlayerDataType type)
     {
         switch (type)
@@ -174,6 +198,11 @@
                 ShowExp();
                 break;
             case PlayerDataType.LV:
+                if (lastLV != PlayerDatas.Instance.baseData.LV)
+                {
+                    lastLV = PlayerDatas.Instance.baseData.LV;
+                    lvUPEffect.Play();
+                }
                 playerLevelText.text = PlayerDatas.Instance.baseData.LV.ToString();
                 break;
             case PlayerDataType.ExAttr1:
@@ -187,7 +216,7 @@
 
     void RefreshRecharge()
     {
-        monthCardBtn.SetActive(!InvestModel.Instance.IsInvested(InvestModel.monthCardType));
+        //monthCardBtn.SetActive(!InvestModel.Instance.IsInvested(InvestModel.monthCardType));
     }
 
 
@@ -267,20 +296,20 @@
             getReward.DataEx = (uint)TaskManager.Instance.mainTask.TaskID;
             GameNetSystem.Instance.SendInfo(getReward);
         }
-        else
-        {
-            //鏍规嵁浠诲姟绫诲瀷寮曞
-        }
+        
+        TaskManager.Instance.ClickTask();
     }
 
     void DisplayCard(TeamType teamType)
     {
         if (teamType != TeamType.Story)
             return;
+        var team = TeamManager.Instance.GetTeam(teamType);
+        var heros = team.GetHerosOnTeam();
         //鏄剧ず鍗$墝
         for (int i = 0; i < heroFightingCardCells.Length; i++)
         {
-            heroFightingCardCells[i].Display(i);
+            heroFightingCardCells[i].Display(i, heros);
         }
     }
 
@@ -322,7 +351,7 @@
         //銆愭櫘閫氥�戝叧鍗″悕瀛�1-6
         levelName.text = Language.Get("mainui7", chapterConfig.Level, chapterConfig.ChapterName, chapterID, levelNum);
 
-        bool canChallengeBoss = AutoFightModel.Instance.CanChallengeBoss();
+        bool canChallengeBoss = MainLevelManager.Instance.CanChallengeBoss();
         //BOSS
         if (canChallengeBoss)
         {
@@ -371,11 +400,53 @@
     }
 
     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();
+        }
+        else if (funcId == GeneralDefine.mainRightFuncOpenFuncID)
+        {
+            funcColBtn.SetActive(FuncOpen.Instance.IsFuncOpen(GeneralDefine.mainRightFuncOpenFuncID));
+        }
+    }
+
+    private void OnUpdateFirstChargeInfo()
+    {
+        DisplayFirstChargeBtn();
+    }
+
+    private void OnSecondEvent()
+    {
+        DisplayFirstChargeBtn();
+    }
+
+    void OnUnLockHeroCountEvent()
+    {
+        DisplayCard(TeamType.Story);
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0