using System.Collections.Generic; using ET; using GFGGame; namespace ET { public class NoticeStudioPlayTimes : AMHandler { protected override async ETTask Run(Session session, M2C_NoticeStudioPlayTimes message) { StudioDataManager.Instance.NoticeStudioPlayTimes(message.ChapterId, message.PlayTimes); EventAgent.DispatchEvent(ConstMessage.NOTICE_STUDIO_PLAY_TIMES); await ETTask.CompletedTask; } } public class NoticeFilingScoreBonusChanged : AMHandler { protected override async ETTask Run(Session session, S2C_FilingScoreBonusChanged message) { StudioDataManager.Instance.NoticeFilingScoreBonusChanged(message.ChapterId, message.ChapterScore, message.BonusStatusList); EventAgent.DispatchEvent(ConstMessage.FILING_SCORE_CHANGE); EventAgent.DispatchEvent(ConstMessage.RED_CHANGE); await ETTask.CompletedTask; } } } namespace GFGGame { public class StudioSProxy { //请求工作室副本数据 public static async ETTask ReqStudioInfos() { M2C_GetStudioInfos response = null; response = (M2C_GetStudioInfos)await MessageHelper.SendToServer(new C2M_GetStudioInfos()); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { for (int i = 0; i < response.infos.Count; i++) { StudioData studioData = new StudioData { ChapterId = response.infos[i].ChapterId, BuyTimes = response.infos[i].BuyTimes, PlayTimes = response.infos[i].PlayTimes, TotalPlayTimes = response.infos[i].TotalPlayTimes, ChapterScore = response.infos[i].ChapterScore, RewardsStatus = response.infos[i].BonusStatusList }; StudioDataManager.Instance.RspStudioInfos(studioData); } StudioDataManager.Instance.PorcelainTheme = response.RepairPorcelainTheme; } } } //请求购买副本挑战次数 public static async ETTask ReqBuyStudioPlayTimes(int chapterId, int buyType, int buyCount) { M2C_BuyStudioPlayTimes response = null; response = (M2C_BuyStudioPlayTimes)await MessageHelper.SendToServer(new C2M_BuyStudioPlayTimes() { ChapterId = chapterId, BuyType = buyType, BuyCount = buyCount }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { StudioDataManager.Instance.RspBuyStudioPlayTimes(response.ChapterId, response.BuyTimes, response.TotalPlayTimes); EventAgent.DispatchEvent(ConstMessage.BUY_STUDIO_PLAY_TIMES); } } } //领取查阅建档分数宝箱 public static async ETTask ReqFilingScoreRewards(int chapterId) { S2C_GetFilingScoreBonus response = null; response = (S2C_GetFilingScoreBonus)await MessageHelper.SendToServer(new C2S_GetFilingScoreBonus() { ChapterId = chapterId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { List itemDatas = new List(); for (int i = 0; i < response.BonusIndexList.Count; i++) { StudioDataManager.Instance.RspFilingScoreReward(response.ChapterId, response.BonusIndexList[i]); List filingRewards = FilingRewardCfgArray.Instance.GetCfgsByid(response.ChapterId); int[][] rewards = filingRewards[response.BonusIndexList[i]].itemsArr; for (int j = 0; j < rewards.Length; j++) { itemDatas.Add(ItemUtil.createItemData(rewards[j])); } } BonusController.TryShowBonusList(itemDatas); EventAgent.DispatchEvent(ConstMessage.FILING_SCORE_CHANGE); EventAgent.DispatchEvent(ConstMessage.RED_CHANGE); } } } } }