Browse Source

活动事件优化

guodong 1 year ago
parent
commit
c619293d73

+ 6 - 3
GameClient/Assets/Game/HotUpdate/Data/ActivityGlobalDataManager.cs

@@ -34,7 +34,7 @@ namespace GFGGame
         }
 
         //添加活动数据
-        public void AddActivityInfo(ActivityInfoProto activityInfoProto)
+        public void AddActivityInfo(ActivityInfoProto activityInfoProto, bool dispatchEvent = true)
         {
             if (activityInfoProto == null) return;
             if (activityInfos.ContainsKey(activityInfoProto.ActivityId)) return;
@@ -53,11 +53,14 @@ namespace GFGGame
             }
             activityInfosByType[activityInfo.Type].Add(activityInfo.ActivityId);
             LogUtil.LogEditor($"AddActivityInfo {activityInfo.Type}");
-            //ACTIVITY_ADD
-            EventAgent.DispatchEvent(ConstMessage.ACTIVITY_ADD, activityInfo.ActivityId);
             var remainTime = activityInfo.EndTime - TimeHelper.ServerNow();
             if (remainTime > 0)
             {
+                //ACTIVITY_ADD
+                if(dispatchEvent)
+                {
+                    EventAgent.DispatchEvent(ConstMessage.ACTIVITY_ADD);
+                }
                 Timers.inst.Add(activityInfo.EndTime - TimeHelper.ServerNow(), 1, ClientRemoveActivityInfo,
                     activityInfo.ActivityId);
             }

+ 3 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/ActivityGlobalSProxy.cs

@@ -53,8 +53,10 @@ namespace GFGGame
             }
             response.ActivityList.ForEach(activityProto =>
             {
-                ActivityGlobalDataManager.Instance.AddActivityInfo(activityProto);
+                ActivityGlobalDataManager.Instance.AddActivityInfo(activityProto, false);
             });
+
+            EventAgent.DispatchEvent(ConstMessage.ACTIVITY_ADD);
         }
 
         //C2S_CloseActivity