ActivityGlobalSProxy.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. using ET;
  2. using GFGGame;
  3. namespace ET
  4. {
  5. //S2C_NoticeActivityOpen
  6. public class S2C_NoticeActivityOpenHandler : AMHandler<S2C_NoticeActivityOpen>
  7. {
  8. protected override async ETTask Run(Session session, S2C_NoticeActivityOpen message)
  9. {
  10. ActivityInfo info = new ActivityInfo
  11. {
  12. ActivityId = message.ActivityId,
  13. StartTime = message.StartTime,
  14. EndTime = message.EndTime
  15. };
  16. ActivityGlobalDataManager.Instance.AddActivityInfo(info);
  17. await ETTask.CompletedTask;
  18. }
  19. }
  20. //S2C_NoticeActivityClose
  21. public class S2C_NoticeActivityCloseHandler : AMHandler<S2C_NoticeActivityClose>
  22. {
  23. protected override async ETTask Run(Session session, S2C_NoticeActivityClose message)
  24. {
  25. ActivityGlobalDataManager.Instance.RemoveActivityInfo(message.ActivityId);
  26. await ETTask.CompletedTask;
  27. }
  28. }
  29. //S2C_SyncActivityCountValue
  30. public class S2C_SyncActivityCountValueHandler : AMHandler<S2C_SyncActivityCountValue>
  31. {
  32. protected override async ETTask Run(Session session, S2C_SyncActivityCountValue message)
  33. {
  34. ActivityGlobalDataManager.Instance.SetActivityCountValue(message.ActivityId, message.CountValue);
  35. await ETTask.CompletedTask;
  36. }
  37. }
  38. }
  39. namespace GFGGame
  40. {
  41. public class ActivityGlobalSProxy
  42. {
  43. public static async ETTask GetActivityInfo()
  44. {
  45. var c2SGetActivityList = new C2S_GetActivityList();
  46. //获取活动数据,这里是一次性拉去所有活动数据,如果活动数据量大,可以分类型拉取
  47. c2SGetActivityList.Type.Add(0);
  48. var response = (S2C_GetActivityList)await MessageHelper.SendToServer(c2SGetActivityList);
  49. if (!(response is { Error: ErrorCode.ERR_Success }))
  50. {
  51. Log.Error("GetActivityInfo error");
  52. return;
  53. }
  54. response.ActivityList.ForEach(activityInfo =>
  55. {
  56. ActivityInfo info = new ActivityInfo
  57. {
  58. ActivityId = activityInfo.ActivityId,
  59. StartTime = activityInfo.StartTime,
  60. EndTime = activityInfo.EndTime,
  61. GetRewards = activityInfo.GetRewards,
  62. CountValue = activityInfo.CountValue
  63. };
  64. ActivityGlobalDataManager.Instance.AddActivityInfo(info);
  65. });
  66. }
  67. //C2S_CloseActivity
  68. public static async ETTask<bool> ReqCloseActivity(int activityId)
  69. {
  70. var response =
  71. (S2C_CloseActivity)await MessageHelper.SendToServer(new C2S_CloseActivity { ActivityId = activityId });
  72. if (!(response is { Error: ErrorCode.ERR_Success }))
  73. {
  74. Log.Error("ReqCloseActivity error");
  75. return false;
  76. }
  77. return true;
  78. }
  79. //C2S_GetActivityBonus
  80. public static async ETTask<bool> ReqGetActivityBonus(int activityId, int bonusId)
  81. {
  82. var response =
  83. (S2C_GetActivityBonus)await MessageHelper.SendToServer(new C2S_GetActivityBonus()
  84. { ActivityId = activityId, BonusId = bonusId });
  85. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  86. //奖励弹窗
  87. BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.itemList));
  88. ActivityGlobalDataManager.Instance.AddActivityRewardInfo(activityId, bonusId);
  89. EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
  90. return false;
  91. }
  92. }
  93. }