ActivityGlobalSProxy.cs 3.6 KB

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