using ET; using GFGGame; namespace ET { //S2C_NoticeActivityOpen public class S2C_NoticeActivityOpenHandler : AMHandler { protected override async ETTask Run(Session session, S2C_NoticeActivityOpen message) { ActivityInfo info = new ActivityInfo { ActivityId = message.ActivityId, StartTime = message.StartTime, EndTime = message.EndTime }; ActivityGlobalDataManager.Instance.AddActivityInfo(info); await ETTask.CompletedTask; } } //S2C_NoticeActivityClose public class S2C_NoticeActivityCloseHandler : AMHandler { protected override async ETTask Run(Session session, S2C_NoticeActivityClose message) { ActivityGlobalDataManager.Instance.RemoveActivityInfo(message.ActivityId); await ETTask.CompletedTask; } } //S2C_SyncActivityCountValue public class S2C_SyncActivityCountValueHandler : AMHandler { protected override async ETTask Run(Session session, S2C_SyncActivityCountValue message) { ActivityGlobalDataManager.Instance.SetActivityCountValue(message.ActivityId, message.CountValue); await ETTask.CompletedTask; } } } namespace GFGGame { public class ActivityGlobalSProxy { public static async ETTask GetActivityInfo() { var c2SGetActivityList = new C2S_GetActivityList(); //获取活动数据,这里是一次性拉去所有活动数据,如果活动数据量大,可以分类型拉取 c2SGetActivityList.Type.Add(0); var response = (S2C_GetActivityList)await MessageHelper.SendToServer(c2SGetActivityList); if (!(response is { Error: ErrorCode.ERR_Success })) { Log.Error("GetActivityInfo error"); return; } response.ActivityList.ForEach(activityInfo => { ActivityInfo info = new ActivityInfo { ActivityId = activityInfo.ActivityId, StartTime = activityInfo.StartTime, EndTime = activityInfo.EndTime, GetRewards = activityInfo.GetRewards, CountValue = activityInfo.CountValue }; ActivityGlobalDataManager.Instance.AddActivityInfo(info); }); } //C2S_CloseActivity public static async ETTask ReqCloseActivity(int activityId) { var response = (S2C_CloseActivity)await MessageHelper.SendToServer(new C2S_CloseActivity { ActivityId = activityId }); if (!(response is { Error: ErrorCode.ERR_Success })) { Log.Error("ReqCloseActivity error"); return false; } return true; } //C2S_GetActivityBonus public static async ETTask ReqGetActivityBonus(int activityId, int bonusId) { var response = (S2C_GetActivityBonus)await MessageHelper.SendToServer(new C2S_GetActivityBonus() { ActivityId = activityId, BonusId = bonusId }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; //奖励弹窗 BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.itemList)); ActivityGlobalDataManager.Instance.AddActivityRewardInfo(activityId, bonusId); EventAgent.DispatchEvent(ConstMessage.RED_CHANGE); return false; } } }