浏览代码

成就刷新接入推送

huangxiaoyue 1 年之前
父节点
当前提交
83148e8447

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

@@ -19,6 +19,9 @@ namespace GFGGame
         //已解锁的任务类型对应的任务id列表
         public Dictionary<int, List<int>> TaskType2TaskIdListDic = new Dictionary<int, List<int>>();
 
+        //成就类别进度
+        private List<AchievementTaskTypePro> saveAchievementTaskTypeProList;
+
         //获取某个类型任务数据
         public Dictionary<int, TaskInfo> GetTaskInfos(int taskType)
         {
@@ -266,12 +269,21 @@ namespace GFGGame
                 : taskCfg.activityRewardsArr;
         }
 
-        private List<AchievementTaskTypePro> saveAchievementTaskTypeProList;
         public void SaveAchievementTaskTypeProList(List<AchievementTaskTypePro> AchievementTaskTypeProList)
         {
             saveAchievementTaskTypeProList = AchievementTaskTypeProList;
         }
 
+        public void SaveAchievementTaskTypePro(AchievementTaskTypePro AchievementTaskTypePro)
+        {
+            foreach (var info in saveAchievementTaskTypeProList) {
+                if (info.AchievementType == AchievementTaskTypePro.AchievementType) {
+                    info.AchievementType = AchievementTaskTypePro.AchievementType;
+                    info.CompleteTaskNum = AchievementTaskTypePro.CompleteTaskNum;
+                }
+            }
+        }
+
         public List<AchievementTaskTypePro> GetAchievementTaskTypeProList()
         {
             return saveAchievementTaskTypeProList;

+ 10 - 0
GameClient/Assets/Game/HotUpdate/ServerProxy/TaskSProxy.cs

@@ -51,6 +51,16 @@ namespace ET
             EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
             await ETTask.CompletedTask;
         }
+
+        public class M2C_AchievementTaskTypeChangeHandler : AMHandler<M2C_AchievementTaskTypeChange>
+        {
+            protected override async ETTask Run(Session session, M2C_AchievementTaskTypeChange message)
+            {
+                TaskDataManager.Instance.SaveAchievementTaskTypePro(message.AchievementTaskTypeProto);
+                EventAgent.DispatchEvent(ConstMessage.ACHIEVEMENT_TASK_PRO_CHANGED);
+                await ETTask.CompletedTask;
+            }
+        }
     }
 }
 

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

@@ -48,14 +48,14 @@ namespace GFGGame
         protected override void AddEventListener()
         {
             base.AddEventListener();
-            EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateInfo);
+            EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateRewardState);
             EventAgent.AddEventListener(ConstMessage.ACHIEVEMENT_TASK_PRO_CHANGED, UpdateRewardState);
         }
 
         protected override void RemoveEventListener()
         {
             base.RemoveEventListener();
-            EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateInfo);
+            EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateRewardState);
             EventAgent.RemoveEventListener(ConstMessage.ACHIEVEMENT_TASK_PRO_CHANGED, UpdateRewardState);
         }