From eb6c10bc19f2a144572345b3ce32994ef72cbd83 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期四, 04 六月 2026 17:13:27 +0800
Subject: [PATCH] 592 每日任务支持创角x天后自动批量领取奖励

---
 Main/System/DayMission/DayMissionManager.cs |   28 ++++++++++++++++++++++++++++
 Main/System/DayMission/DayMissionCell.cs    |    5 +----
 2 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/Main/System/DayMission/DayMissionCell.cs b/Main/System/DayMission/DayMissionCell.cs
index e99d6a6..1af4d69 100644
--- a/Main/System/DayMission/DayMissionCell.cs
+++ b/Main/System/DayMission/DayMissionCell.cs
@@ -47,10 +47,7 @@
             mask.SetActive(false);
             getBtn.AddListener(() =>
             {
-                var pack = new CA504_tagCMPlayerGetReward();
-                pack.RewardType = 1;
-                pack.DataEx = (uint)id;
-                GameNetSystem.Instance.SendInfo(pack);
+                DayMissionManager.Instance.GetDailyTaskAward(id);
             });
         }
         else if (state == 2)
diff --git a/Main/System/DayMission/DayMissionManager.cs b/Main/System/DayMission/DayMissionManager.cs
index 692fd6c..5276700 100644
--- a/Main/System/DayMission/DayMissionManager.cs
+++ b/Main/System/DayMission/DayMissionManager.cs
@@ -14,6 +14,7 @@
     public event Action OnDayMissionEvent;  // 鏃ュ父浠诲姟浜嬩欢
 
     public List<int> dailyIDList = new List<int>();
+    int batchGetAwardCreateDays = 0;    // 鍒涜X澶╁悗鍙壒閲忛鍙栧畬鎴愪换鍔″鍔�
 
     bool isRefreshDayMission = false;   //鍋氫釜寤惰繜鍒锋柊
 
@@ -51,6 +52,7 @@
     void ParseConfig()
     {
         dailyIDList = DailyTaskConfig.GetKeys();
+        batchGetAwardCreateDays = int.Parse(FuncConfigConfig.Get("DayMission").Numerical1);
     }
 
     public void UpdateDailyTaskInfo(HB109_tagSCDailyTaskInfo netPack)
@@ -168,7 +170,33 @@
         return 2;
     }
 
+    public void GetDailyTaskAward(int id)
+    {
+        if (TimeUtility.CreateDays >= batchGetAwardCreateDays)
+        {
+            foreach (var taskID in dailyIDList)
+            {
+                var config = DailyTaskConfig.Get(taskID);
+                if (GetDailyTaskState(config) == 1)
+                {
+                    SendDailyTaskAward(taskID);
+                }
+            }
+        }
+        else
+        {
+            SendDailyTaskAward(id);
+        }
+    }
 
+    void SendDailyTaskAward(int id)
+    {
+        var pack = new CA504_tagCMPlayerGetReward();
+        pack.RewardType = 1;
+        pack.DataEx = (uint)id;
+        GameNetSystem.Instance.SendInfo(pack);
+    }
+    
     public void SortDailyTask()
     {
         dailyIDList.Sort(CmpDayTask);

--
Gitblit v1.8.0