ActivityAfuGiftProxy.cs 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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 ActivityAfuGiftProxy : MonoBehaviour
  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. activityAfuGiftDataManager.AddGetReward(ItemUtil.CreateItemDataList(response.BonusList));
  67. activityAfuGiftDataManager.SetRewardStateList(info.FreeRewardStatusList, false);
  68. activityAfuGiftDataManager.SetRewardStateList(info.PayRewardStatusList, true);
  69. EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
  70. return false;
  71. }
  72. }
  73. }