using ET; using GFGGame; namespace ET { //S2C_NoticeActivityOpen public class S2C_NoticeActivityOpenHandler : AMHandler { protected override async ETTask Run(Session session, S2C_NoticeActivityOpen message) { ActivityGlobalDataManager.Instance.AddActivityInfo(new ActivityInfo { activityId = message.ActivityId, startTime = message.StartTime, endTime = message.EndTime }); 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; } } } 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 => { ActivityGlobalDataManager.Instance.AddActivityInfo(new ActivityInfo { activityId = activityInfo.ActivityId, startTime = activityInfo.StartTime, endTime = activityInfo.EndTime }); }); } //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; } } }