|
@@ -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;
|
|
|
}
|
|
|
}
|