ActivityGlobalSProxy.cs 3.2 KB

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