From eabc1cf8441444ea40b0fb00b394009eb5c9e90d Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 25 八月 2025 20:40:20 +0800
Subject: [PATCH] 5 【武将】招募系统-测试bug记录

---
 Main/System/Tip/ScrollTip.cs               |    6 -
 Main/System/Tip/ToggleConfirmWin.cs        |    6 +-
 Main/System/GeneralConfig/GeneralDefine.cs |    1 
 Main/System/HappyXB/HeroCallWin.cs         |    7 +-
 Main/Main.cs                               |    3 +
 Main/System/HappyXB/HappyXBModel.cs        |  114 ++++++++++++++++++++++++++------------
 Main/System/Invest/InvestModel.cs          |    4 
 Main/System/ItemTip/BoxGetItemModel.cs     |    4 
 Main/System/Message/SysNotifyMgr.cs        |    2 
 Main/System/HappyXB/HeroCallResultWin.cs   |   12 ++--
 10 files changed, 101 insertions(+), 58 deletions(-)

diff --git a/Main/Main.cs b/Main/Main.cs
index 0ef8a01..50a5315 100644
--- a/Main/Main.cs
+++ b/Main/Main.cs
@@ -33,6 +33,9 @@
         Debug.Log("鍒囨崲鍒扮櫥褰曞満鏅�");
         ConfigManager.Instance.Init();
         GeneralDefine.Init();
+#if UNITY_EDITOR
+        SysNotifyMgr.Instance.BeforePlayerDataInitializeEvent();
+#endif
         StageManager.Instance.ToLoginScene();
 
         DTC0403_tagPlayerLoginLoadOK.finishedLogin = false;
diff --git a/Main/System/GeneralConfig/GeneralDefine.cs b/Main/System/GeneralConfig/GeneralDefine.cs
index dfd2bd8..70e3091 100644
--- a/Main/System/GeneralConfig/GeneralDefine.cs
+++ b/Main/System/GeneralConfig/GeneralDefine.cs
@@ -11,7 +11,6 @@
     public static Dictionary<int, int> MoneyDisplayModel { get; private set; }
     public static int playerMaxLevel { get; private set; }
     
-    public static Dictionary<int, int> moneyDisplayIds { get; private set; }
     public static int expDisplayId { get; private set; }
     
 
diff --git a/Main/System/HappyXB/HappyXBModel.cs b/Main/System/HappyXB/HappyXBModel.cs
index 0af1b07..f75a087 100644
--- a/Main/System/HappyXB/HappyXBModel.cs
+++ b/Main/System/HappyXB/HappyXBModel.cs
@@ -44,6 +44,9 @@
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
         FuncOpen.Instance.OnFuncStateChangeEvent += UpdateFuncState;
         PackManager.Instance.RefreshItemEvent += RefreshXBTool;
+        TimeMgr.Instance.OnDayEvent += OnDayEvent;
+        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
+        InvestModel.Instance.onInvestUpdate += OnInvestUpdate;
 
         xbGetItemDict.Clear();
         xbTypeItemDict.Clear();
@@ -71,17 +74,30 @@
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
         FuncOpen.Instance.OnFuncStateChangeEvent -= UpdateFuncState;
         PackManager.Instance.RefreshItemEvent -= RefreshXBTool;
+        TimeMgr.Instance.OnDayEvent -= OnDayEvent;
+        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
+        InvestModel.Instance.onInvestUpdate -= OnInvestUpdate;
     }
 
 
 
-    public void OnBeforePlayerDataInitialize()
+    void OnBeforePlayerDataInitialize()
     {
         isXBCoolTime = false;
         xbTypeInfoDict.Clear();
     }
 
+    void OnPlayerLoginOk()
+    {
+        HeroCallRedPoint();
+    }
 
+
+    void OnInvestUpdate(int type)
+    {
+        if (type == 7)
+            HeroCallRedPoint();
+    }
     public XBGetItemConfig GetXBItemConfigByType(int type)
     {
         int lv = 0;
@@ -307,27 +323,33 @@
             //璐у竵瀵诲疂
             int moneyType = funcSet.CostMoneyType;
             int xbOneMoney = funcSet.CostMoneyList[0];
-
-            if (UIHelper.GetMoneyCnt(moneyType) >= xbOneMoney)
+            //鏆傚畾鍏呭�艰揣甯侀渶瑕佷簩娆$‘璁�
+            if (moneyType == 1)
             {
-                //鏆傚畾鍏呭�艰揣甯侀渶瑕佷簩娆$‘璁�
-                if (moneyType == 1)
+                StoreModel.Instance.UseMoneyCheck(xbOneMoney, moneyType, () =>
                 {
-                    StoreModel.Instance.UseMoneyCheck(xbOneMoney, moneyType, () =>
+                    if (UIHelper.GetMoneyCnt(moneyType) >= xbOneMoney)
                     {
                         SendXBQuest(xbType, 0, 0);
-                    }, (int)BuyStoreItemCheckType.HeroCall, fullTip: Language.Get("CostMoneyForItem", funcSet.CostItemID, xbOneMoney,
-                    UIHelper.GetIconNameWithMoneyType(moneyType), funcSet.CostItemCountList[0]));
+                    }
+                    else
+                    {
+                        ItemTipUtility.ShowMoneyTip(moneyType);
+                    }
+                }, (int)BuyStoreItemCheckType.HeroCall, fullTip: Language.Get("CostMoneyForItem", funcSet.CostItemID, xbOneMoney,
+                UIHelper.GetIconNameWithMoneyType(moneyType), funcSet.CostItemCountList[0]));
 
-                }
-                else
-                {
-                    SendXBQuest(xbType, 0, 0);
-                }
             }
             else
             {
-                ItemTipUtility.ShowMoneyTip(moneyType);
+                if (UIHelper.GetMoneyCnt(moneyType) >= xbOneMoney)
+                {
+                    SendXBQuest(xbType, 0, 0);
+                }
+                else
+                {
+                    ItemTipUtility.ShowMoneyTip(moneyType);
+                }
             }
         }
     }
@@ -356,26 +378,34 @@
 
             //璐у竵瀵诲疂
             int moneyType = funcSet.CostMoneyType;
-            if (UIHelper.GetMoneyCnt(moneyType) >= needMoney)
+
+            //鏆傚畾鍏呭�艰揣甯侀渶瑕佷簩娆$‘璁�
+            if (moneyType == 1)
             {
-                //鏆傚畾鍏呭�艰揣甯侀渶瑕佷簩娆$‘璁�
-                if (moneyType == 1)
+                StoreModel.Instance.UseMoneyCheck(needMoney, moneyType, () =>
                 {
-                    StoreModel.Instance.UseMoneyCheck(needMoney, moneyType, () =>
+                    //鍙鏈夐亾鍏峰氨鏄亾鍏峰瀹濓紝涓嶈冻閮ㄥ垎鏈嶅姟绔墸璐у竵
+                    if (UIHelper.GetMoneyCnt(moneyType) >= needMoney)
                     {
-                        //鍙鏈夐亾鍏峰氨鏄亾鍏峰瀹濓紝涓嶈冻閮ㄥ垎鏈嶅姟绔墸璐у竵
                         SendXBQuest(xbType, 1, toolCnt > 0 ? 2 : 0);
-                    }, (int)BuyStoreItemCheckType.HeroCall, fullTip: Language.Get("CostMoneyForItem", funcSet.CostItemID, needMoney,
-                    UIHelper.GetIconNameWithMoneyType(moneyType), needToolCnt - toolCnt));
-                }
-                else
-                {
-                    SendXBQuest(xbType, 1, toolCnt > 0 ? 2 : 0);
-                }
+                    }
+                    else
+                    {
+                        ItemTipUtility.ShowMoneyTip(moneyType);
+                    }
+                }, (int)BuyStoreItemCheckType.HeroCall, fullTip: Language.Get("CostMoneyForItem", funcSet.CostItemID, needMoney,
+                UIHelper.GetIconNameWithMoneyType(moneyType), needToolCnt - toolCnt));
             }
             else
             {
-                ItemTipUtility.ShowMoneyTip(moneyType);
+                if (UIHelper.GetMoneyCnt(moneyType) >= needMoney)
+                {
+                    SendXBQuest(xbType, 1, toolCnt > 0 ? 2 : 0);
+                }
+                else
+                {
+                    ItemTipUtility.ShowMoneyTip(moneyType);
+                }
             }
 
         }
@@ -479,10 +509,15 @@
     #region 绾㈢偣閫昏緫
     public const int HappyXB_RedKey = 203;
     public const int XBHeroCall1_RedKey = 20300;    //姝﹀皢鍏嶈垂鍙敜
+    public const int XBHeroCall10_RedKey = 20301;    //姝﹀皢10鍙敜
+    public const int XBHeroCallScore_RedKey = 20302;    //姝﹀皢绉垎鍙敜
 
 
-    public Redpoint happyXBRed = new Redpoint(HappyXB_RedKey);
+    public Redpoint happyXBRed = new Redpoint(MainRedDot.MainHerosRedpoint, HappyXB_RedKey);
     public Redpoint bestXBFreeRed = new Redpoint(HappyXB_RedKey, XBHeroCall1_RedKey);
+    public Redpoint bestXB10Red = new Redpoint(HappyXB_RedKey, XBHeroCall10_RedKey);
+    public Redpoint bestXBScoreRed = new Redpoint(HappyXB_RedKey, XBHeroCallScore_RedKey);
+
     
 
     private void UpdateFuncState(int funcId)
@@ -500,32 +535,39 @@
         HeroCallRedPoint();
     }
 
+    void OnDayEvent()
+    { 
+        HeroCallRedPoint();
+    }
+
     //鑻遍泟鎷涘嫙
     public void HeroCallRedPoint()
     {
         if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.HappyFindTreasure)) return;
         // 鍏嶈垂 10杩� 绉垎
-        happyXBRed.state = RedPointState.None;
+        bestXB10Red.state = RedPointState.None;
+        bestXBFreeRed.state = RedPointState.None;
+        bestXBScoreRed.state = RedPointState.None;
 
 
         if (IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced))
         {
             bestXBFreeRed.state = RedPointState.Simple;
-            return;
-        }
-        else
-        {
-            bestXBFreeRed.state = RedPointState.None;
         }
 
         if (IsHaveManyXBToolEx((int)HappXBTitle.HeroCallAdvanced, out int xbtoolCnt, out int needtoolCnt, out int needMoney))
         {
-            happyXBRed.state = RedPointState.Simple;
+            bestXB10Red.state = RedPointState.Simple;
             return;
         }
 
         //绉垎瓒冲
-
+        if ((InvestModel.Instance.IsInvested(InvestModel.monthCardType)
+        || GetXBInfoByType((int)HappXBTitle.HeroCallScore)?.treasureCount == 0)
+        && UIHelper.GetMoneyCnt(51) >= TreasureSetConfig.Get((int)HappXBTitle.HeroCallScore).CostMoneyList[0])
+        { 
+            bestXBScoreRed.state = RedPointState.Simple;
+        }
 
     }
 
diff --git a/Main/System/HappyXB/HeroCallResultWin.cs b/Main/System/HappyXB/HeroCallResultWin.cs
index 43add94..0c7a094 100644
--- a/Main/System/HappyXB/HeroCallResultWin.cs
+++ b/Main/System/HappyXB/HeroCallResultWin.cs
@@ -65,7 +65,6 @@
     protected override void OnPreOpen()
     {
         isSkip = LocalSave.GetBool(HeroUIManager.skipKey, false);
-        UIManager.Instance.CloseWindow<ScrollTipWin>();
         HappyXBModel.Instance.RefreshXBResultAct += UpdateState;
         HappyXBModel.Instance.RefreshXBTypeInfoAct += RefreshBtn;
         InitMoney();
@@ -179,7 +178,7 @@
     {
         var funcSet = TreasureSetConfig.Get((int)HeroUIManager.Instance.selectCallType);
         if (funcSet.CostItemID == 0)
-        { 
+        {
             call1ItemIcon.SetActive(false);
             call1Text.SetActive(false);
             call10ItemIcon.SetActive(false);
@@ -191,11 +190,11 @@
         call1Text.SetActive(true);
         call10ItemIcon.SetActive(true);
         call10Text.SetActive(true);
-        
+
         var item = ItemConfig.Get(funcSet.CostItemID);
         var IconKey = item.IconKey;
         call1ItemIcon.SetOrgSprite(IconKey);
-
+        var itemCount = PackManager.Instance.GetItemCountByID(PackType.Item, funcSet.CostItemID);
 
         if (HappyXBModel.Instance.IsHaveFreeXB((int)HeroUIManager.Instance.selectCallType))
         {
@@ -203,12 +202,13 @@
         }
         else
         {
-            call1Text.text = Language.Get("L1100", item.ItemName, funcSet.CostItemCountList[0]);
+            call1Text.text = Language.Get("L1100", item.ItemName, UIHelper.AppendColor(funcSet.CostItemCountList[0] > itemCount ? TextColType.Red : TextColType.LightWhite, funcSet.CostItemCountList[0].ToString()));
         }
 
 
         call10ItemIcon.SetOrgSprite(IconKey);
-        call10Text.text = Language.Get("L1100", item.ItemName, funcSet.CostItemCountList[1]);
+        call10Text.text = Language.Get("L1100", item.ItemName, UIHelper.AppendColor(funcSet.CostItemCountList[1] > itemCount ? TextColType.Red : TextColType.LightWhite, funcSet.CostItemCountList[1].ToString()));
+
     }
 
     void ShowMoney(bool show)
diff --git a/Main/System/HappyXB/HeroCallWin.cs b/Main/System/HappyXB/HeroCallWin.cs
index a87d3a9..423f39e 100644
--- a/Main/System/HappyXB/HeroCallWin.cs
+++ b/Main/System/HappyXB/HeroCallWin.cs
@@ -71,15 +71,16 @@
         var IconKey = item.IconKey;
         call1ItemIcon.SetOrgSprite(IconKey);
         call10ItemIcon.SetOrgSprite(IconKey);
+        var itemCount = PackManager.Instance.GetItemCountByID(PackType.Item, funcSet.CostItemID);
         if (HappyXBModel.Instance.IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced))
         {
             call1Text.text = Language.Get("L1127");
         }
         else
         {
-            call1Text.text = Language.Get("L1100", item.ItemName, funcSet.CostItemCountList[0]);
+            call1Text.text = Language.Get("L1100", item.ItemName, UIHelper.AppendColor(funcSet.CostItemCountList[0] > itemCount ? TextColType.Red :TextColType.LightWhite, funcSet.CostItemCountList[0].ToString()));
         }
-        call10Text.text = Language.Get("L1100", item.ItemName, funcSet.CostItemCountList[1]);
+        call10Text.text = Language.Get("L1100", item.ItemName, UIHelper.AppendColor(funcSet.CostItemCountList[1] > itemCount ? TextColType.Red : TextColType.LightWhite, funcSet.CostItemCountList[1].ToString()));
 
         scoreText.text = UIHelper.GetMoneyCnt(51) + "/" + TreasureSetConfig.Get((int)HappXBTitle.HeroCallScore).CostMoneyList[0];
 
@@ -109,7 +110,7 @@
 
     void RefreshFreeTime()
     { 
-        if (!HappyXBModel.Instance.IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced))
+        if (HappyXBModel.Instance.IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced))
         {
             freeCDTime.SetActive(false);
         }
diff --git a/Main/System/Invest/InvestModel.cs b/Main/System/Invest/InvestModel.cs
index 161b1fb..e078acb 100644
--- a/Main/System/Invest/InvestModel.cs
+++ b/Main/System/Invest/InvestModel.cs
@@ -32,7 +32,7 @@
 
 
     public event Action onSelectUpdate;
-    public event Action onInvestUpdate;
+    public event Action<int> onInvestUpdate;
 
     public const int redpointID = 20931;
     public Redpoint redpoint = new Redpoint(MainRedDot.REDPOINT_OPENSERVER, redpointID);
@@ -305,7 +305,7 @@
 
         if (onInvestUpdate != null)
         {
-            onInvestUpdate();
+            onInvestUpdate(package.InvestType);
         }
     }
 
diff --git a/Main/System/ItemTip/BoxGetItemModel.cs b/Main/System/ItemTip/BoxGetItemModel.cs
index 522b6af..407c53f 100644
--- a/Main/System/ItemTip/BoxGetItemModel.cs
+++ b/Main/System/ItemTip/BoxGetItemModel.cs
@@ -97,9 +97,9 @@
             for (int i = 0; i < netPack.MoneyLen; i++)
             {
                 var moneyType = netPack.MoneyList[i].MoneyType;
-                if (GeneralDefine.moneyDisplayIds.ContainsKey(moneyType) && netPack.MoneyList[i].MoneyValue != 0)
+                if (GeneralDefine.MoneyDisplayModel.ContainsKey(moneyType) && netPack.MoneyList[i].MoneyValue != 0)
                 {
-                    showItems.Add(new Item(GeneralDefine.moneyDisplayIds[moneyType], netPack.MoneyList[i].MoneyValue));
+                    showItems.Add(new Item(GeneralDefine.MoneyDisplayModel[moneyType], netPack.MoneyList[i].MoneyValue));
                 }
 
             }
diff --git a/Main/System/Message/SysNotifyMgr.cs b/Main/System/Message/SysNotifyMgr.cs
index 8726da1..0a2aa82 100644
--- a/Main/System/Message/SysNotifyMgr.cs
+++ b/Main/System/Message/SysNotifyMgr.cs
@@ -66,7 +66,7 @@
         // BattleHint.Instance.OnStageLoadFinish();
     }
 
-    private void BeforePlayerDataInitializeEvent()
+    public void BeforePlayerDataInitializeEvent()
     {
         ScrollTip.m_Hints.Clear();
         ServerTipDetails.ClearHint();
diff --git a/Main/System/Tip/ScrollTip.cs b/Main/System/Tip/ScrollTip.cs
index 9ce0213..af6cd66 100644
--- a/Main/System/Tip/ScrollTip.cs
+++ b/Main/System/Tip/ScrollTip.cs
@@ -50,6 +50,7 @@
         //杩囨护涓嶆挱鏀剧殑鎯呭喌
         if (!CanOpen())
         {
+            m_Hints.Clear();
             return;
         }
 
@@ -61,10 +62,7 @@
 
     static bool CanOpen()
     {
-        // if (UIManager.Instance.IsOpened<HeroCallResultWin>())
-        // { 
-        //     return false;
-        // }
+
         if (HappyXBModel.Instance.isXBCoolTime)
             return false;
         return true;
diff --git a/Main/System/Tip/ToggleConfirmWin.cs b/Main/System/Tip/ToggleConfirmWin.cs
index 41d1f6c..dc97505 100644
--- a/Main/System/Tip/ToggleConfirmWin.cs
+++ b/Main/System/Tip/ToggleConfirmWin.cs
@@ -59,6 +59,7 @@
     }
     private void OnConfirm()
     {
+        CloseWindow();
         if (ConfirmCancel.OnToggleConfirmEvent != null)
         {
             ConfirmCancel.OnToggleConfirmEvent(true, m_Toggle.isOn);
@@ -67,11 +68,11 @@
         {
             ConfirmCancel.OnToggleSingleConfirmEvent(m_Toggle.isOn);
         }
-        CloseWindow();
     }
 
     private void OnCancel()
     {
+        CloseWindow();
         if (ConfirmCancel.OnToggleConfirmEvent != null)
         {
             ConfirmCancel.OnToggleConfirmEvent(false, m_Toggle.isOn);
@@ -80,16 +81,15 @@
         {
             ConfirmCancel.OnToggleSingleConfirmEvent(m_Toggle.isOn);
         }
-        CloseWindow();
     }
 
     private void OnCancelEx()
     {
+        CloseWindow();
         if (ConfirmCancel.OnToggleConfirmEventEx != null)
         {
             ConfirmCancel.OnToggleConfirmEventEx(false, m_Toggle.isOn);
         }
-        CloseWindow();
     }
 }
 

--
Gitblit v1.8.0