using System.Collections; using UnityEngine; using GFGGame; using ET; namespace ET { public class ActivityLoginInfoProtoHandler : AMHandler { protected override async ETTask Run(Session session, S2C_PushActivityLoginInfo message) { var info = message.ActivityLoginInfo; var afuGiftDataManager = ActivityAfuGiftDataManager.Instance; afuGiftDataManager.SetIsBuy(info.IsBuy); foreach (var rewardID in info.FreeRewardStatusList) { afuGiftDataManager.AddNormalReward(rewardID); } foreach (var superRewardID in info.PayRewardStatusList) { afuGiftDataManager.AddSuperReward(superRewardID); } //EventAgent.DispatchEvent(ConstMessage.NOTICE_PASSPORT_OPEN); EventAgent.DispatchEvent(ConstMessage.RED_CHANGE); await ETTask.CompletedTask; } } } namespace GFGGame { public class ActivityAfuGiftProxy : MonoBehaviour { public static async ETTask GetAfuGiftInfo() { var response = (S2C_GetActivityLoginInfo)await MessageHelper.SendToServer(new C2S_GetActivityLoginInfo { }); if (!(response is { Error: ErrorCode.ERR_Success })) return; var info = response.ActivityLoginInfo; var activityAfuGiftDataManager = ActivityAfuGiftDataManager.Instance; activityAfuGiftDataManager.SetIsBuy(info.IsBuy); foreach(var t in info.FreeRewardStatusList) { activityAfuGiftDataManager.AddNormalReward(t); } foreach (var t in info.PayRewardStatusList) { activityAfuGiftDataManager.AddSuperReward(t); } } public static async ETTask ReqGetReward(bool isPay, int rewardDay) { var response = (S2C_GetActivityLoginReward)await MessageHelper.SendToServer(new C2S_GetActivityLoginReward() { IsPay = isPay, RewardDay = rewardDay }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; //奖励弹窗 BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList)); var info = response.ActivityLoginInfo; var activityAfuGiftDataManager = ActivityAfuGiftDataManager.Instance; foreach (var t in info.FreeRewardStatusList) { activityAfuGiftDataManager.AddNormalReward(t); } foreach (var t in info.PayRewardStatusList) { activityAfuGiftDataManager.AddSuperReward(t); } EventAgent.DispatchEvent(ConstMessage.RED_CHANGE); return false; } } }