ActivityAfuGiftSProxy.cs 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. using System.Collections;
  2. using UnityEngine;
  3. using GFGGame;
  4. using ET;
  5. namespace ET
  6. {
  7. public class ActivityLoginInfoProtoHandler : AMHandler<S2C_PushActivityLoginInfo>
  8. {
  9. /// <summary>
  10. /// 活动的开启/结束/充值
  11. /// </summary>
  12. /// <param name="session"></param>
  13. /// <param name="message"></param>
  14. /// <returns></returns>
  15. protected override async ETTask Run(Session session, S2C_PushActivityLoginInfo message)
  16. {
  17. var info = message.ActivityLoginInfo;
  18. var afuGiftDataManager = ActivityAfuGiftDataManager.Instance;
  19. afuGiftDataManager.SetIsBuy(info.IsBuy);
  20. afuGiftDataManager.IsOpen = info.ActivityIsOpen;
  21. afuGiftDataManager.SetRewardStateList(info.FreeRewardStatusList, false);
  22. afuGiftDataManager.SetRewardStateList(info.PayRewardStatusList, true);
  23. EventAgent.DispatchEvent(ConstMessage.AFU_GIFT_CHANGED);
  24. EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
  25. await ETTask.CompletedTask;
  26. }
  27. }
  28. }
  29. namespace GFGGame
  30. {
  31. public class ActivityAfuGiftSProxy
  32. {
  33. /// <summary>
  34. /// 登陆游戏初始化
  35. /// </summary>
  36. /// <returns></returns>
  37. public static async ETTask GetAfuGiftInfo()
  38. {
  39. var response =
  40. (S2C_GetActivityLoginInfo)await MessageHelper.SendToServer(new C2S_GetActivityLoginInfo { });
  41. if (!(response is { Error: ErrorCode.ERR_Success })) return;
  42. var info = response.ActivityLoginInfo;
  43. var activityAfuGiftDataManager = ActivityAfuGiftDataManager.Instance;
  44. activityAfuGiftDataManager.SetIsBuy(info.IsBuy);
  45. activityAfuGiftDataManager.SetIndexDay(info.IndexDay);
  46. activityAfuGiftDataManager.IsOpen = info.ActivityIsOpen;
  47. activityAfuGiftDataManager.SetRewardStateList(info.FreeRewardStatusList, false);
  48. activityAfuGiftDataManager.SetRewardStateList(info.PayRewardStatusList, true);
  49. EventAgent.DispatchEvent(ConstMessage.AFU_GIFT_CHANGED);
  50. EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
  51. }
  52. /// <summary>
  53. /// 单个领奖
  54. /// </summary>
  55. /// <param name="isPay"></param>
  56. /// <param name="rewardDay"></param>
  57. /// <returns></returns>
  58. public static async ETTask<bool> ReqGetReward(bool isPay, int rewardDay)
  59. {
  60. var response =
  61. (S2C_GetActivityLoginReward)await MessageHelper.SendToServer(new C2S_GetActivityLoginReward()
  62. { IsPay = isPay, RewardDay = rewardDay });
  63. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  64. var info = response.ActivityLoginInfo;
  65. var activityAfuGiftDataManager = ActivityAfuGiftDataManager.Instance;
  66. // 奖励弹窗
  67. BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
  68. activityAfuGiftDataManager.SetRewardStateList(info.FreeRewardStatusList, false);
  69. activityAfuGiftDataManager.SetRewardStateList(info.PayRewardStatusList, true);
  70. EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
  71. return false;
  72. }
  73. /// <summary>
  74. /// 一键领取
  75. /// </summary>
  76. /// <param name="isPay"></param>
  77. /// <param name="rewardDay"></param>
  78. /// <returns></returns>
  79. public static async ETTask<bool> ReqGetAllReward()
  80. {
  81. var response =
  82. (S2C_GetAllActivityLoginReward)await MessageHelper.SendToServer(new C2S_GetAllActivityLoginReward() { });
  83. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  84. var info = response.ActivityLoginInfo;
  85. var activityAfuGiftDataManager = ActivityAfuGiftDataManager.Instance;
  86. // 奖励弹窗
  87. BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
  88. activityAfuGiftDataManager.SetRewardStateList(info.FreeRewardStatusList, false);
  89. activityAfuGiftDataManager.SetRewardStateList(info.PayRewardStatusList, true);
  90. EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
  91. return false;
  92. }
  93. }
  94. }