ActivityGlobalSProxy.cs 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. }
  29. namespace GFGGame
  30. {
  31. public class ActivityGlobalSProxy
  32. {
  33. public static async ETTask GetActivityInfo()
  34. {
  35. var c2SGetActivityList = new C2S_GetActivityList();
  36. //获取活动数据,这里是一次性拉去所有活动数据,如果活动数据量大,可以分类型拉取
  37. c2SGetActivityList.Type.Add(0);
  38. var response = (S2C_GetActivityList)await MessageHelper.SendToServer(c2SGetActivityList);
  39. if (!(response is { Error: ErrorCode.ERR_Success }))
  40. {
  41. Log.Error("GetActivityInfo error");
  42. return;
  43. }
  44. response.ActivityList.ForEach(activityInfo =>
  45. {
  46. ActivityGlobalDataManager.Instance.AddActivityInfo(new ActivityInfo
  47. {
  48. activityId = activityInfo.ActivityId,
  49. startTime = activityInfo.StartTime,
  50. endTime = activityInfo.EndTime,
  51. GetRewards = activityInfo.GetRewards
  52. });
  53. });
  54. }
  55. //C2S_CloseActivity
  56. public static async ETTask<bool> ReqCloseActivity(int activityId)
  57. {
  58. var response =
  59. (S2C_CloseActivity)await MessageHelper.SendToServer(new C2S_CloseActivity()
  60. { ActivityId = activityId });
  61. if (!(response is { Error: ErrorCode.ERR_Success }))
  62. {
  63. Log.Error("ReqCloseActivity error");
  64. return false;
  65. }
  66. return true;
  67. }
  68. //C2S_GetActivityBonus
  69. public static async ETTask<bool> ReqGetActivityBonus(int activityId, int bonusId)
  70. {
  71. var response =
  72. (S2C_GetActivityBonus)await MessageHelper.SendToServer(new C2S_GetActivityBonus()
  73. { ActivityId = activityId, BonusId = bonusId });
  74. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  75. //奖励弹窗
  76. BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.itemList));
  77. ActivityGlobalDataManager.Instance.AddActivityRewardInfo(activityId, bonusId);
  78. return false;
  79. }
  80. }
  81. }