瀏覽代碼

feat 任务通知修改

Jae 2 年之前
父節點
當前提交
7c51b3c881

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs

@@ -146,7 +146,7 @@ namespace GFGGame
         public const string NOTICE_PASSPORT_SEASON_CHANGE = "NOTICE_PASSPORT_SEASON_CHANGE";
 
         //通知任务状态变更
-        public const string NOTICE_TASK_STATE_CHANGE = "NOTICE_TASK_STATE_CHANGE";
+        // public const string NOTICE_TASK_STATE_CHANGE = "NOTICE_TASK_STATE_CHANGE";
 
         //通知多个任务状态变更
         public const string NOTICE_BATCH_TASK_STATE_CHANGE = "NOTICE_BATCH_TASK_STATE_CHANGE";

+ 1 - 8
GameClient/Assets/Game/HotUpdate/Data/TaskDataManager.cs

@@ -27,7 +27,7 @@ namespace GFGGame
                 : new Dictionary<int, TaskInfo>();
         }
 
-        public void UpdateTaskInfo(int taskId, TaskInfo info, bool isNotice = true)
+        public void UpdateTaskInfo(int taskId, TaskInfo info)
         {
             //获取任务配置
             var cfg = TaskCfgArray.Instance.GetCfg(taskId);
@@ -52,11 +52,6 @@ namespace GFGGame
             {
                 TaskInfosDic[taskId] = info;
             }
-            if (isNotice)
-            {
-                EventAgent.DispatchEvent(ConstMessage.NOTICE_TASK_STATE_CHANGE, taskId);
-                EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
-            }
         }
 
         //RemoveTaskInfo
@@ -87,8 +82,6 @@ namespace GFGGame
             }
 
             taskInfo.State = state;
-            EventAgent.DispatchEvent(ConstMessage.NOTICE_TASK_STATE_CHANGE, taskId);
-            EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
         }
 
         /// <summary>

+ 27 - 27
GameClient/Assets/Game/HotUpdate/ServerProxy/TaskSProxy.cs

@@ -2,25 +2,24 @@ using System.Collections.Generic;
 using System.Linq;
 using ET;
 using GFGGame;
-using UnityEditor;
 
 namespace ET
 {
     //M2C_TaskInfoChange
-    public class M2C_TaskInfoChangeHandler : AMHandler<M2C_TaskInfoChange>
-    {
-        protected override async ETTask Run(Session session, M2C_TaskInfoChange message)
-        {
-            var taskInfo = new TaskInfo
-            {
-                ID = message.TaskInfo.Id,
-                State = message.TaskInfo.Status,
-                Progress = message.TaskInfo.Progress
-            };
-            TaskDataManager.Instance.UpdateTaskInfo(taskInfo.ID, taskInfo);
-            await ETTask.CompletedTask;
-        }
-    }
+    // public class M2C_TaskInfoChangeHandler : AMHandler<M2C_TaskInfoChange>
+    // {
+    //     protected override async ETTask Run(Session session, M2C_TaskInfoChange message)
+    //     {
+    //         var taskInfo = new TaskInfo
+    //         {
+    //             ID = message.TaskInfo.Id,
+    //             State = message.TaskInfo.Status,
+    //             Progress = message.TaskInfo.Progress
+    //         };
+    //         TaskDataManager.Instance.UpdateTaskInfo(taskInfo.ID, taskInfo);
+    //         await ETTask.CompletedTask;
+    //     }
+    // }
 
     //M2C_TaskClose
     public class M2C_TaskCloseHandler : AMHandler<M2C_TaskClose>
@@ -28,27 +27,22 @@ namespace ET
         protected override async ETTask Run(Session session, M2C_TaskClose message)
         {
             TaskDataManager.Instance.RemoveTaskInfo(message.TaskId);
-            EventAgent.DispatchEvent(ConstMessage.NOTICE_TASK_STATE_CHANGE, message.TaskId);
+            EventAgent.DispatchEvent(ConstMessage.NOTICE_BATCH_TASK_STATE_CHANGE, new List<int> { message.TaskId });
             EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
             await ETTask.CompletedTask;
         }
     }
 
     //通知任务重置
-    public class M2C_TaskResetHandler : AMHandler<M2C_TaskReset>
+    public class M2C_TaskResetHandler : AMHandler<M2C_TaskChange>
     {
-        protected override async ETTask Run(Session session, M2C_TaskReset message)
+        protected override async ETTask Run(Session session, M2C_TaskChange message)
         {
             var changeIds = new List<int>();
             message.TaskList.ForEach(proto =>
             {
-                var taskInfo = new TaskInfo
-                {
-                    ID = proto.Id,
-                    State = proto.Status,
-                    Progress = proto.Progress
-                };
-                TaskDataManager.Instance.UpdateTaskInfo(taskInfo.ID, taskInfo, false);
+                var taskInfo = new TaskInfo { ID = proto.Id, State = proto.Status, Progress = proto.Progress };
+                TaskDataManager.Instance.UpdateTaskInfo(taskInfo.ID, taskInfo);
                 changeIds.Add(taskInfo.ID);
             });
             //NOTICE_TASK_STATE_CHANGE
@@ -84,10 +78,10 @@ namespace GFGGame
                     State = proto.Status,
                     Progress = proto.Progress
                 };
-                TaskDataManager.Instance.UpdateTaskInfo(taskInfo.ID, taskInfo, false);
+                TaskDataManager.Instance.UpdateTaskInfo(taskInfo.ID, taskInfo);
                 changeIds.Add(taskInfo.ID);
             });
-            EventAgent.DispatchEvent(ConstMessage.NOTICE_TASK_STATE_CHANGE, changeIds);
+            EventAgent.DispatchEvent(ConstMessage.NOTICE_BATCH_TASK_STATE_CHANGE, changeIds);
             EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
             return response.Error == ErrorCode.ERR_Success;
         }
@@ -99,6 +93,8 @@ namespace GFGGame
             var response = (M2C_GetTaskBonus)await MessageHelper.SendToServer(new C2M_GetTaskBonus { Id = taskId });
             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
             TaskDataManager.Instance.UpdateTaskState(response.Id, response.Status);
+            EventAgent.DispatchEvent(ConstMessage.NOTICE_BATCH_TASK_STATE_CHANGE, new List<int> { taskId });
+            EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
             var taskCfg = TaskCfgArray.Instance.GetCfg(response.Id);
             if (taskCfg == null) return false;
             var bonus = TaskDataManager.Instance.GetReward(taskCfg);
@@ -114,13 +110,17 @@ namespace GFGGame
                 (M2C_GetAllTaskBonus)await MessageHelper.SendToServer(new C2M_GetAllTaskBonus { Type = taskType });
             if (!(response is { Error: ErrorCode.ERR_Success })) return false;
             // BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.bonusList));
+            var changeIds = new List<int>();
             foreach (var taskInfo in response.TaskList.Select(t => new TaskInfo
                          { ID = t.Id, State = t.Status, Progress = t.Progress }))
             {
                 TaskDataManager.Instance.UpdateTaskInfo(taskInfo.ID, taskInfo);
+                changeIds.Add(taskInfo.ID);
             }
             var itemDatas = ItemUtil.CreateItemDataList(response.BonusList);
             BonusController.TryShowBonusList(itemDatas);
+            EventAgent.DispatchEvent(ConstMessage.NOTICE_BATCH_TASK_STATE_CHANGE, changeIds);
+            EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
             return true;
         }
     }

+ 0 - 3
GameClient/Assets/Game/HotUpdate/Views/ActivityDay7/ActivityDay7View.cs

@@ -75,7 +75,6 @@ namespace GFGGame
         {
             EventAgent.AddEventListener(ConstMessage.ITEM_CHANGED, OnItemChange);
             // ConstMessage.NOTICE_TASK_STATE_CHANGE
-            EventAgent.AddEventListener(ConstMessage.NOTICE_TASK_STATE_CHANGE, OnTaskChange);
             EventAgent.AddEventListener(ConstMessage.NOTICE_BATCH_TASK_STATE_CHANGE, OnTasksChange);
         }
 
@@ -107,8 +106,6 @@ namespace GFGGame
         {
             //ConstMessage.ITEM_CHANGED
             EventAgent.RemoveEventListener(ConstMessage.ITEM_CHANGED, OnItemChange);
-            // ConstMessage.NOTICE_TASK_STATE_CHANGE
-            EventAgent.RemoveEventListener(ConstMessage.NOTICE_TASK_STATE_CHANGE, OnTaskChange);
             //NOTICE_BATCH_TASK_STATE_CHANGE
             EventAgent.RemoveEventListener(ConstMessage.NOTICE_BATCH_TASK_STATE_CHANGE, OnTasksChange);
         }

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Views/Task/CombTaskView.cs

@@ -56,7 +56,7 @@ namespace GFGGame
         {
             base.AddEventListener();
             EventAgent.AddEventListener(ConstMessage.LIVENESS_CHANGE, UpdateLivenessProcess);
-            EventAgent.AddEventListener(ConstMessage.NOTICE_TASK_STATE_CHANGE, OnTaskChange);
+            // EventAgent.AddEventListener(ConstMessage.NOTICE_TASK_STATE_CHANGE, OnTaskChange);
             EventAgent.AddEventListener(ConstMessage.NOTICE_BATCH_TASK_STATE_CHANGE, OnTaskChanges);
         }
 
@@ -64,7 +64,7 @@ namespace GFGGame
         {
             base.RemoveEventListener();
             EventAgent.RemoveEventListener(ConstMessage.LIVENESS_CHANGE, UpdateLivenessProcess);
-            EventAgent.RemoveEventListener(ConstMessage.NOTICE_TASK_STATE_CHANGE, OnTaskChange);
+            // EventAgent.RemoveEventListener(ConstMessage.NOTICE_TASK_STATE_CHANGE, OnTaskChange);
             //NOTICE_BATCH_TASK_STATE_CHANGE
             EventAgent.RemoveEventListener(ConstMessage.NOTICE_BATCH_TASK_STATE_CHANGE, OnTaskChanges);
         }