瀏覽代碼

Merge branch 'master' of http://10.108.64.190:3000/gfg/client

zhaoyang 2 年之前
父節點
當前提交
843f2b65bb

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstMessage.cs

@@ -129,5 +129,7 @@ namespace GFGGame
         public const string ACTIVITY_REMOVE = "ACTIVITY_REMOVE";
         //通知活动添加
         public const string ACTIVITY_ADD = "ACTIVITY_ADD";
+        // ACTIVITY_REWARD_ADD
+        public const string ACTIVITY_REWARD_ADD = "ACTIVITY_REWARD_ADD";
     }
 }

+ 13 - 0
GameClient/Assets/Game/HotUpdate/Data/ActivityGlobalDataManager.cs

@@ -12,6 +12,9 @@ namespace GFGGame
         public long startTime;
 
         public long endTime;
+
+        //已经领取的奖励
+        public List<int> GetRewards = new List<int>();
     }
 
     public class ActivityGlobalDataManager : SingletonBase<ActivityGlobalDataManager>
@@ -74,5 +77,15 @@ namespace GFGGame
             var activityInfoIds = GetActivityInfoIdsByType(activityType);
             return activityInfoIds.Select(GetActivityInfo).Where(activityInfo => activityInfo != null).ToList();
         }
+
+        //添加活动奖励获取数据
+        public void AddActivityRewardInfo(int activityId, int rewardId)
+        {
+            if (!activityInfos.ContainsKey(activityId)) return;
+            var activityInfo = activityInfos[activityId];
+            if (activityInfo.GetRewards.Contains(rewardId)) return;
+            activityInfo.GetRewards.Add(rewardId);
+            EventAgent.DispatchEvent(ConstMessage.ACTIVITY_REWARD_ADD, activityId);
+        }
     }
 }

+ 16 - 2
GameClient/Assets/Game/HotUpdate/ServerProxy/ActivityGlobalSProxy.cs

@@ -17,7 +17,7 @@ namespace ET
             await ETTask.CompletedTask;
         }
     }
-    
+
     //S2C_NoticeActivityClose
     public class S2C_NoticeActivityCloseHandler : AMHandler<S2C_NoticeActivityClose>
     {
@@ -50,7 +50,8 @@ namespace GFGGame
                 {
                     activityId = activityInfo.ActivityId,
                     startTime = activityInfo.StartTime,
-                    endTime = activityInfo.EndTime
+                    endTime = activityInfo.EndTime,
+                    GetRewards = activityInfo.GetRewards
                 });
             });
         }
@@ -68,5 +69,18 @@ namespace GFGGame
             }
             return true;
         }
+
+        //C2S_GetActivityBonus
+        public static async ETTask<bool> ReqGetActivityBonus(int activityId, int bonusId)
+        {
+            var response =
+                (S2C_GetActivityBonus)await MessageHelper.SendToServer(new C2S_GetActivityBonus()
+                    { ActivityId = activityId, BonusId = bonusId });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            //奖励弹窗
+            BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.itemList));
+            ActivityGlobalDataManager.Instance.AddActivityRewardInfo(activityId, bonusId);
+            return false;
+        }
     }
 }