using ET; using GFGGame; using FairyGUI; using UnityEngine; using UnityEngine.Networking; using System.Collections.Generic; namespace ET { public class M2C_NoticeMatchingStateHandler : AMHandler { protected override async ETTask Run(Session session, S2C_PushJudgingRoundInfo message) { MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason = message.JudgingRoundOpenId; MatchingCompetitionDataManager.Instance.MatchingEndTimes = message.PhaseEndTime; MatchingCompetitionDataManager.Instance.MatchingState = message.PhaseType; //await MatchingCompetitionSproxy.ReqMatchingCompetitionInfo(); await ETTask.CompletedTask; } } } namespace GFGGame { public class MatchingCompetitionSproxy { //获取搭配评选赛信息 public static async ETTask ReqMatchingCompetitionInfo() { S2C_GetJudgingRoundInfo response = (S2C_GetJudgingRoundInfo)await MessageHelper.SendToServer(new C2S_GetJudgingRoundInfo { }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason = response.JudgingRoundOpenId; MatchingCompetitionDataManager.Instance.MatchingState = response.PhaseType; MatchingCompetitionDataManager.Instance.MatchingEndTimes = response.PhaseEndTime; MatchingCompetitionDataManager.Instance.MatchingRemainingTimes = GameGlobal.myNumericComponent.GetAsInt(NumericType.JudgingRoundSelNum); if(response.MyWorks != null) { MatchingCompetitionDataManager.Instance.myWorks = response.MyWorks; MatchingCompetitionDataManager.Instance.AllDressIDInfoList = response.MyWorks.CollocationInfoList; } else { MatchingCompetitionDataManager.Instance.myWorks.Score = 0; MatchingCompetitionDataManager.Instance.AllDressIDInfoList = new List(); } MatchingCompetitionDataManager.Instance.AnalysisInfoToList(); return true; } //获取搭配作品信息 //public static async ETTask ReqMatchingCompetitionDressData() //{ // var response = (S2C_RequestUpLoadJudgingRoundWorks)await MessageHelper.SendToServer(new C2S_RequestUpLoadJudgingRoundWorks {}); // if (!(response is { Error: ErrorCode.ERR_Success })) return false; // return true; //} //获取一个热门推荐的玩家 public static async ETTask ReqGetOnePlayers() { var response = (S2C_GetOnePlayers)await MessageHelper.SendToServer(new C2S_GetOnePlayers { }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo = response.JudgingRoundRole; if (response.JudgingRoundRole == null) { return false; } Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingOneDataManager.Instance.OneRoleInfo)); MatchingOneDataManager.Instance.AnalysisInfoToList(); return true; } //上传作品信息 public static async ETTask UpLoadMatchingCompetitionDressData() { MatchingCompetitionDataManager.Instance.ConvertInfoToList(); var response = (S2C_RequestUpLoadJudgingRoundWorks)await MessageHelper.SendToServer(new C2S_RequestUpLoadJudgingRoundWorks { PictureType = 1, BagId = MatchingCompetitionDataManager.Instance.DressUpBgID, ActionId = MatchingCompetitionDataManager.Instance.MathingDressDate.actionId, CollocationInfoList = MatchingCompetitionDataManager.Instance.AllDressIDInfoList }); if (!(response is { Error: ErrorCode.ERR_Success })) return null; MatchingCompetitionDataManager.Instance.WorksID = response.WorksId; MatchingCompetitionDataManager.Instance.TempPictureUrl = response.TempPictureUrl; return new object[] { response.TempPictureUrl, response.WorksId }; } //通知服务端上传成功 public static async ETTask UploadSuccess() { var response = (S2C_NoticeJudgingRoundWorksUploaded)await MessageHelper.SendToServer(new C2S_NoticeJudgingRoundWorksUploaded { WorksId = MatchingCompetitionDataManager.Instance.WorksID }) ; if (!(response is { Error: ErrorCode.ERR_Success })) return false; return true; } //获取两个评选推荐的玩家 public static async ETTask ReqGetTwoPlayers() { var response = (S2C_GetTwoPlayers)await MessageHelper.SendToServer(new C2S_GetTwoPlayers { }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; if(response.JudgingRoundRoleInfoList == null || response.JudgingRoundRoleInfoList.Count < 2) { return false; } MatchingCompetitionDataManager.Instance.MatchingRemainingTimes = GameGlobal.myNumericComponent.GetAsInt(NumericType.JudgingRoundSelNum); MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[0]; if(response.JudgingRoundRoleInfoList[0] != null) { Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingLeftDataManager.Instance.LeftRoleInfo)); } MatchingLeftDataManager.Instance.AnalysisInfoToList(); MatchingRightDataManager.Instance.RightRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[1]; if (response.JudgingRoundRoleInfoList[1] != null) { Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingRightDataManager.Instance.RightRoleInfo)); } MatchingRightDataManager.Instance.AnalysisInfoToList(); return true; } //选择搭配作品 public static async ETTask ReqCheckMatchingCompetitionWork(long workID,long anotherWorkId ) { var response = (S2C_SelFavoriteWorks)await MessageHelper.SendToServer(new C2S_SelFavoriteWorks { WorksId = workID, AnotherWorksId = anotherWorkId }) ; if (!(response is { Error: ErrorCode.ERR_Success })) return false; if (response.JudgingRoundRoleInfoList == null || response.JudgingRoundRoleInfoList.Count < 2) { return false; } MatchingCompetitionDataManager.Instance.MatchingRemainingTimes = GameGlobal.myNumericComponent.GetAsInt(NumericType.JudgingRoundSelNum); if (MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo.WorksId == workID) { MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[0]; MatchingRightDataManager.Instance.RightRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[1]; } else { MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[1]; MatchingRightDataManager.Instance.RightRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[0]; } BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList)); return true; } //获取当前排行榜 public static async ETTask ReqCurrentRank() { var response = (S2C_GetCurJudgingRoundRankList)await MessageHelper.SendToServer(new C2S_GetCurJudgingRoundRankList { }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; MatchingCompetitionDataManager.Instance._currentRankList.Clear(); foreach (var item in response.JudgingRoundRoleInfoList) { MatchingPhotoWorksData data = new MatchingPhotoWorksData(); data.JudgingInfo = item; MatchingCompetitionDataManager.Instance._currentRankList.Add(data); } Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingCompetitionDataManager.Instance._currentRankList)); return true; } //获取往期作品集 public static async ETTask ReqBeforeWorks() { var response = (S2C_GetPreviousWorksCollection)await MessageHelper.SendToServer(new C2S_GetPreviousWorksCollection { }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; MatchingCompetitionDataManager.Instance._BeforeWorksList.Clear(); foreach (var item in response.WorksCollectionList) { MatchingWorksData data = new MatchingWorksData(); data.WorksInfo = item; MatchingCompetitionDataManager.Instance._BeforeWorksList.Add(data); } Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingCompetitionDataManager.Instance._BeforeWorksList)); return true; } //获取往期作品排行榜 public static async ETTask ReqBeforeRank(int id) { var response = (S2C_GetOldJudgingRoundRankList)await MessageHelper.SendToServer(new C2S_GetOldJudgingRoundRankList { JudgingRoundOpenId = id}); if (!(response is { Error: ErrorCode.ERR_Success })) return false; MatchingCompetitionDataManager.Instance._BeforeRankList.Clear(); foreach (var item in response.JudgingRoundRoleInfoList) { MatchingPhotoWorksData data = new MatchingPhotoWorksData(); data.JudgingInfo = item; MatchingCompetitionDataManager.Instance._BeforeRankList.Add(data); } Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingCompetitionDataManager.Instance._BeforeRankList)); return true; } //搭配赛相册系协议 public static async ETTask ReqMatchingPhotoData() { var response = (S2C_GetJudgingRoundWorksList)await MessageHelper.SendToServer(new C2S_GetJudgingRoundWorksList { }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; MatchingCompetitionDataManager.Instance.MatchingPhotoInfos.Clear(); foreach (var item in response.JudgingRoundRoleInfoList) { PoemPhotoData photoData = new PoemPhotoData(); photoData.PictureId = item.WorksId; photoData.CreationTime = item.CreationTime; photoData.ToppingStatus = item.ToppingStatus; photoData.PictureTempUrl = item.PictureTempUrl; MatchingCompetitionDataManager.Instance.MatchingPhotoInfos.Add(photoData); } Timers.inst.StartCoroutine(PictureStorageHelper.Download(MatchingCompetitionDataManager.Instance.MatchingPhotoInfos)); return true; } //修改图片锁定状态 public static async ETTask ReqChangeLockingState(long pictureId, bool state, int sourceType) { S2C_UpJudgingRoundWorksLockingStatus response = null; response = (S2C_UpJudgingRoundWorksLockingStatus)await MessageHelper.SendToServer(new C2S_UpJudgingRoundWorksLockingStatus() { WorksId = pictureId, Status = state }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { PoemPhotoDataManager.Instance.ChangeLockingState(response.WorksId, response.Status, sourceType); EventAgent.DispatchEvent(ConstMessage.POEM_PHOTO_INFOS_CHANGE); return true; } } return false; } //修改图片置顶状态 public static async ETTask ReqChangeToppingState(long pictureId, bool state, int sourceType) { S2C_UpJudgingRoundWorksToppingStatus response = null; response = (S2C_UpJudgingRoundWorksToppingStatus)await MessageHelper.SendToServer(new C2S_UpJudgingRoundWorksToppingStatus() { WorksId = pictureId, Status = state }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { PoemPhotoDataManager.Instance.ChangeToppingState(response.WorksId, response.Status, sourceType); EventAgent.DispatchEvent(ConstMessage.POEM_PHOTO_INFOS_CHANGE); return true; } } return false; } //批量删除玩家相册 public static async ETTask ReqRemovedPhoto(List pictureIds, int sourceType) { S2C_RemovedJudgingRoundWorks response = null; response = (S2C_RemovedJudgingRoundWorks)await MessageHelper.SendToServer(new C2S_RemovedJudgingRoundWorks() { WorksIds = pictureIds }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { PoemPhotoDataManager.Instance.Remove(response.WorksIds, sourceType); EventAgent.DispatchEvent(ConstMessage.POEM_PHOTO_INFOS_CHANGE); return true; } } return false; } } }