From 9e89e605d5429babb4b33df2e47ea86dff9d2ba7 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 20 十一月 2025 11:55:04 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/Main/AutoFightModel.cs |   97 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 94 insertions(+), 3 deletions(-)

diff --git a/Main/System/Main/AutoFightModel.cs b/Main/System/Main/AutoFightModel.cs
index 27b651a..b3bf9e9 100644
--- a/Main/System/Main/AutoFightModel.cs
+++ b/Main/System/Main/AutoFightModel.cs
@@ -88,14 +88,16 @@
     public int maxCost; //鏈�楂樻秷鑰�
     public int[] autoCostWithBlessLV; //鑷姩鎴樻枟娑堣�楀�嶆暟鍏宠仈绁濈绛夌骇
     public int speed2UnlockMissionID;
-    public int speed3UnlockCTGID;
-    
+
     public override void Init()
     {
         ParseConfig();
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerInit;
         BattleManager.Instance.onBattleFieldCreate += OnCreateBattleField;
         EventBroadcast.Instance.AddListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnSkillCast);
+        BlessLVManager.Instance.OnBlessLVUpdateEvent += UpdateRedpint;
+        TaskManager.Instance.OnTaskUpdate += OnTaskUpdate;
+        InvestModel.Instance.onInvestUpdate += OnInvestUpdate;
 
     }
 
@@ -104,6 +106,9 @@
         BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField;
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerInit;
         EventBroadcast.Instance.RemoveListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnSkillCast);
+        BlessLVManager.Instance.OnBlessLVUpdateEvent -= UpdateRedpint;
+        TaskManager.Instance.OnTaskUpdate -= OnTaskUpdate;
+        InvestModel.Instance.onInvestUpdate -= OnInvestUpdate;
 
     }
 
@@ -112,7 +117,6 @@
         var config = FuncConfigConfig.Get("AutoGuaji");
         autoCostWithBlessLV = JsonMapper.ToObject<int[]>(config.Numerical1);
         speed2UnlockMissionID = int.Parse(config.Numerical2);
-        speed3UnlockCTGID = int.Parse(config.Numerical3);
         maxCost = autoCostWithBlessLV.Length;
     }
 
@@ -263,5 +267,92 @@
 
     #endregion
 
+    //鏂板娑堣�楀�嶆暟绾㈢偣
+    Redpoint redpoint1 = new Redpoint(MainRedDot.RedPoint_AutoBattleKey, MainRedDot.RedPoint_AutoBattleKey * 10 + 1);
+    //鏂板鎴樻枟鍊嶆暟绾㈢偣
+    Redpoint redpoint2 = new Redpoint(MainRedDot.RedPoint_AutoBattleKey, MainRedDot.RedPoint_AutoBattleKey * 10 + 2);
+    void UpdateRedpint()
+    {
+        //鎻愮ず绾㈢偣璁板綍鍒扮鍑犱釜绱㈠紩锛屾瘡娆¤В閿佹柊鐨勬秷鑰楃孩鐐归兘鎻愮ず
+        var costIndex = LocalSave.GetInt("redcost" + PlayerDatas.Instance.baseData.PlayerID);
+        if (costIndex + 1 < autoCostWithBlessLV.Length)
+        {
+            redpoint1.state = autoCostWithBlessLV[Math.Min(costIndex + 1, autoCostWithBlessLV.Length - 1)] <= BlessLVManager.Instance.m_TreeLV ?
+                                RedPointState.Simple : RedPointState.None;
+        }
+        else
+        {
+            redpoint1.state = RedPointState.None;
+        }
 
+        var speedIndex = LocalSave.GetInt("redspeed" + PlayerDatas.Instance.baseData.PlayerID);
+        redpoint2.state = RedPointState.None;
+        if (speedIndex == 0 && TaskManager.Instance.mainTask.TaskID > speed2UnlockMissionID &&
+            !InvestModel.Instance.IsActiveFightSpeed(3))
+        {
+            redpoint2.state = RedPointState.Simple;
+        }
+        else if (speedIndex < 2 && InvestModel.Instance.IsActiveFightSpeed(3))
+        {
+            redpoint2.state = RedPointState.Simple;
+        }
+    }
+
+    public void ClickCostRed()
+    {
+        int index = 0;
+        for (int i = 0; i < autoCostWithBlessLV.Length; i++)
+        {
+            if (autoCostWithBlessLV[i] <= BlessLVManager.Instance.m_TreeLV)
+            {
+                index = i;
+            }
+            else
+            {
+                break;
+            }
+        }
+        LocalSave.SetInt("redcost" + PlayerDatas.Instance.baseData.PlayerID, index);
+        UpdateRedpint();
+    }
+
+    public void ClickSpeedRed()
+    {
+        int index = 0;
+        if (!InvestModel.Instance.IsActiveFightSpeed(3))
+        {
+            if (TaskManager.Instance.mainTask.TaskID > speed2UnlockMissionID)
+            {
+                index = 1;
+            }
+        }
+        else
+        {
+            index = 2;
+        }
+        LocalSave.SetInt("redspeed" + PlayerDatas.Instance.baseData.PlayerID, index);
+        UpdateRedpint();
+
+    }
+
+    void OnTaskUpdate()
+    {
+        //浠诲姟鍒锋柊姣旇緝棰戠箒
+        if (TaskManager.Instance.mainTask.TaskID < speed2UnlockMissionID)
+        {
+            return;
+        }
+        if (LocalSave.GetInt("redspeed" + PlayerDatas.Instance.baseData.PlayerID) > 0)
+            return;
+        if (redpoint2.state == RedPointState.Simple)
+            return;
+        UpdateRedpint();
+    }
+
+    void OnInvestUpdate(int type)
+    {
+        if (type > 2)
+            return;
+        UpdateRedpint();
+    }
 }

--
Gitblit v1.8.0