MatchingCompetitionSproxy.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. using ET;
  2. using GFGGame;
  3. using FairyGUI;
  4. using UnityEngine;
  5. using UnityEngine.Networking;
  6. using System.Collections.Generic;
  7. namespace ET
  8. {
  9. public class M2C_NoticeMatchingStateHandler : AMHandler<S2C_PushJudgingRoundInfo>
  10. {
  11. protected override async ETTask Run(Session session, S2C_PushJudgingRoundInfo message)
  12. {
  13. MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason = message.JudgingRoundOpenId;
  14. MatchingCompetitionDataManager.Instance.MatchingEndTimes = message.PhaseEndTime;
  15. MatchingCompetitionDataManager.Instance.MatchingState = message.PhaseType;
  16. //await MatchingCompetitionSproxy.ReqMatchingCompetitionInfo();
  17. await ETTask.CompletedTask;
  18. }
  19. }
  20. }
  21. namespace GFGGame
  22. {
  23. public class MatchingCompetitionSproxy
  24. {
  25. //获取搭配评选赛信息
  26. public static async ETTask<bool> ReqMatchingCompetitionInfo()
  27. {
  28. S2C_GetJudgingRoundInfo response = (S2C_GetJudgingRoundInfo)await MessageHelper.SendToServer(new C2S_GetJudgingRoundInfo { });
  29. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  30. MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason = response.JudgingRoundOpenId;
  31. MatchingCompetitionDataManager.Instance.MatchingState = response.PhaseType;
  32. MatchingCompetitionDataManager.Instance.MatchingEndTimes = response.PhaseEndTime;
  33. MatchingCompetitionDataManager.Instance.MatchingRemainingTimes = response.Num;
  34. if(response.MyWorks != null)
  35. {
  36. MatchingCompetitionDataManager.Instance.myWorks = response.MyWorks;
  37. MatchingCompetitionDataManager.Instance.AllDressIDInfoList = response.MyWorks.CollocationInfoList;
  38. }
  39. else
  40. {
  41. MatchingCompetitionDataManager.Instance.myWorks.Score = 0;
  42. MatchingCompetitionDataManager.Instance.AllDressIDInfoList = new List<CollocationInfo>();
  43. }
  44. if(response.MyWorks != null && response.MyWorks.PictureTempUrl != "")
  45. {
  46. Timers.inst.StartCoroutine(MatchingPhotoHelper.DownloadMyself(response.MyWorks.PictureTempUrl));
  47. }
  48. MatchingCompetitionDataManager.Instance.AnalysisInfoToList();
  49. return true;
  50. }
  51. //获取搭配作品信息
  52. //public static async ETTask<bool> ReqMatchingCompetitionDressData()
  53. //{
  54. // var response = (S2C_RequestUpLoadJudgingRoundWorks)await MessageHelper.SendToServer(new C2S_RequestUpLoadJudgingRoundWorks {});
  55. // if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  56. // return true;
  57. //}
  58. //获取一个热门推荐的玩家
  59. public static async ETTask<bool> ReqGetOnePlayers()
  60. {
  61. var response = (S2C_GetOnePlayers)await MessageHelper.SendToServer(new C2S_GetOnePlayers { });
  62. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  63. MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo = response.JudgingRoundRole;
  64. if (response.JudgingRoundRole == null)
  65. {
  66. return false;
  67. }
  68. Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingOneDataManager.Instance.OneRoleInfo));
  69. MatchingOneDataManager.Instance.AnalysisInfoToList();
  70. return true;
  71. }
  72. //上传作品信息
  73. public static async ETTask<object[]> UpLoadMatchingCompetitionDressData()
  74. {
  75. MatchingCompetitionDataManager.Instance.ConvertInfoToList();
  76. var response = (S2C_RequestUpLoadJudgingRoundWorks)await MessageHelper.SendToServer(new C2S_RequestUpLoadJudgingRoundWorks
  77. {
  78. PictureType = 1,
  79. BagId = MatchingCompetitionDataManager.Instance.DressUpBgID,
  80. ActionId = MatchingCompetitionDataManager.Instance.MathingDressDate.actionId,
  81. CollocationInfoList = MatchingCompetitionDataManager.Instance.AllDressIDInfoList
  82. });
  83. if (!(response is { Error: ErrorCode.ERR_Success })) return null;
  84. MatchingCompetitionDataManager.Instance.WorksID = response.WorksId;
  85. MatchingCompetitionDataManager.Instance.TempPictureUrl = response.TempPictureUrl;
  86. return new object[] { response.TempPictureUrl, response.WorksId };
  87. }
  88. //通知服务端上传成功
  89. public static async ETTask<bool> UploadSuccess()
  90. {
  91. var response = (S2C_NoticeJudgingRoundWorksUploaded)await MessageHelper.SendToServer(new C2S_NoticeJudgingRoundWorksUploaded
  92. {
  93. WorksId = MatchingCompetitionDataManager.Instance.WorksID
  94. }) ;
  95. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  96. return true;
  97. }
  98. //获取两个评选推荐的玩家
  99. public static async ETTask<bool> ReqGetTwoPlayers()
  100. {
  101. var response = (S2C_GetTwoPlayers)await MessageHelper.SendToServer(new C2S_GetTwoPlayers { });
  102. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  103. if(response.JudgingRoundRoleInfoList == null || response.JudgingRoundRoleInfoList.Count < 2)
  104. {
  105. return false;
  106. }
  107. MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[0];
  108. if(response.JudgingRoundRoleInfoList[0] != null)
  109. {
  110. Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingLeftDataManager.Instance.LeftRoleInfo));
  111. }
  112. MatchingLeftDataManager.Instance.AnalysisInfoToList();
  113. MatchingRightDataManager.Instance.RightRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[1];
  114. if (response.JudgingRoundRoleInfoList[1] != null)
  115. {
  116. Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingRightDataManager.Instance.RightRoleInfo));
  117. }
  118. MatchingRightDataManager.Instance.AnalysisInfoToList();
  119. return true;
  120. }
  121. //选择搭配作品
  122. public static async ETTask<bool> ReqCheckMatchingCompetitionWork(long workID,long anotherWorkId )
  123. {
  124. var response = (S2C_SelFavoriteWorks)await MessageHelper.SendToServer(new C2S_SelFavoriteWorks
  125. {
  126. WorksId = workID,
  127. AnotherWorksId = anotherWorkId
  128. }) ;
  129. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  130. if (response.JudgingRoundRoleInfoList == null || response.JudgingRoundRoleInfoList.Count < 2)
  131. {
  132. return false;
  133. }
  134. MatchingCompetitionDataManager.Instance.MatchingRemainingTimes = response.Num;
  135. MatchingCompetitionDataManager.Instance.SpecialBonusList = response.SpecialBonusList;
  136. if (MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo.WorksId == workID)
  137. {
  138. MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[0];
  139. MatchingRightDataManager.Instance.RightRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[1];
  140. }
  141. else
  142. {
  143. MatchingLeftDataManager.Instance.LeftRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[1];
  144. MatchingRightDataManager.Instance.RightRoleInfo.JudgingInfo = response.JudgingRoundRoleInfoList[0];
  145. }
  146. BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
  147. return true;
  148. }
  149. //获取当前排行榜
  150. public static async ETTask<bool> ReqCurrentRank()
  151. {
  152. var response = (S2C_GetCurJudgingRoundRankList)await MessageHelper.SendToServer(new C2S_GetCurJudgingRoundRankList { });
  153. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  154. MatchingCompetitionDataManager.Instance._currentRankList.Clear();
  155. foreach (var item in response.JudgingRoundRoleInfoList)
  156. {
  157. MatchingPhotoWorksData data = new MatchingPhotoWorksData();
  158. data.JudgingInfo = item;
  159. MatchingCompetitionDataManager.Instance._currentRankList.Add(data);
  160. }
  161. Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingCompetitionDataManager.Instance._currentRankList));
  162. return true;
  163. }
  164. //获取往期作品集
  165. public static async ETTask<bool> ReqBeforeWorks()
  166. {
  167. var response = (S2C_GetPreviousWorksCollection)await MessageHelper.SendToServer(new C2S_GetPreviousWorksCollection { });
  168. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  169. MatchingCompetitionDataManager.Instance._BeforeWorksList.Clear();
  170. foreach (var item in response.WorksCollectionList)
  171. {
  172. MatchingWorksData data = new MatchingWorksData();
  173. data.WorksInfo = item;
  174. MatchingCompetitionDataManager.Instance._BeforeWorksList.Add(data);
  175. }
  176. Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingCompetitionDataManager.Instance._BeforeWorksList));
  177. return true;
  178. }
  179. //获取往期作品排行榜
  180. public static async ETTask<bool> ReqBeforeRank(int id)
  181. {
  182. var response = (S2C_GetOldJudgingRoundRankList)await MessageHelper.SendToServer(new C2S_GetOldJudgingRoundRankList { JudgingRoundOpenId = id});
  183. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  184. MatchingCompetitionDataManager.Instance._BeforeRankList.Clear();
  185. foreach (var item in response.JudgingRoundRoleInfoList)
  186. {
  187. MatchingPhotoWorksData data = new MatchingPhotoWorksData();
  188. data.JudgingInfo = item;
  189. MatchingCompetitionDataManager.Instance._BeforeRankList.Add(data);
  190. }
  191. Timers.inst.StartCoroutine(MatchingPhotoHelper.Download(MatchingCompetitionDataManager.Instance._BeforeRankList));
  192. return true;
  193. }
  194. //搭配赛相册系协议
  195. public static async ETTask<bool> ReqMatchingPhotoData()
  196. {
  197. var response = (S2C_GetJudgingRoundWorksList)await MessageHelper.SendToServer(new C2S_GetJudgingRoundWorksList { });
  198. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  199. MatchingCompetitionDataManager.Instance.MatchingPhotoInfos.Clear();
  200. foreach (var item in response.JudgingRoundRoleInfoList)
  201. {
  202. PoemPhotoData photoData = new PoemPhotoData();
  203. photoData.PictureId = item.WorksId;
  204. photoData.CreationTime = item.CreationTime;
  205. photoData.ToppingStatus = item.ToppingStatus;
  206. photoData.PictureTempUrl = item.PictureTempUrl;
  207. MatchingCompetitionDataManager.Instance.MatchingPhotoInfos.Add(photoData);
  208. }
  209. Timers.inst.StartCoroutine(PictureStorageHelper.Download(MatchingCompetitionDataManager.Instance.MatchingPhotoInfos));
  210. return true;
  211. }
  212. //修改图片锁定状态
  213. public static async ETTask<bool> ReqChangeLockingState(long pictureId, bool state, int sourceType)
  214. {
  215. S2C_UpJudgingRoundWorksLockingStatus response = null;
  216. response = (S2C_UpJudgingRoundWorksLockingStatus)await MessageHelper.SendToServer(new C2S_UpJudgingRoundWorksLockingStatus() { WorksId = pictureId, Status = state });
  217. if (response != null)
  218. {
  219. if (response.Error == ErrorCode.ERR_Success)
  220. {
  221. PoemPhotoDataManager.Instance.ChangeLockingState(response.WorksId, response.Status, sourceType);
  222. EventAgent.DispatchEvent(ConstMessage.POEM_PHOTO_INFOS_CHANGE);
  223. return true;
  224. }
  225. }
  226. return false;
  227. }
  228. //修改图片置顶状态
  229. public static async ETTask<bool> ReqChangeToppingState(long pictureId, bool state, int sourceType)
  230. {
  231. S2C_UpJudgingRoundWorksToppingStatus response = null;
  232. response = (S2C_UpJudgingRoundWorksToppingStatus)await MessageHelper.SendToServer(new C2S_UpJudgingRoundWorksToppingStatus() { WorksId = pictureId, Status = state });
  233. if (response != null)
  234. {
  235. if (response.Error == ErrorCode.ERR_Success)
  236. {
  237. PoemPhotoDataManager.Instance.ChangeToppingState(response.WorksId, response.Status, sourceType);
  238. EventAgent.DispatchEvent(ConstMessage.POEM_PHOTO_INFOS_CHANGE);
  239. return true;
  240. }
  241. }
  242. return false;
  243. }
  244. //批量删除玩家相册
  245. public static async ETTask<bool> ReqRemovedPhoto(List<long> pictureIds, int sourceType)
  246. {
  247. S2C_RemovedJudgingRoundWorks response = null;
  248. response = (S2C_RemovedJudgingRoundWorks)await MessageHelper.SendToServer(new C2S_RemovedJudgingRoundWorks() { WorksIds = pictureIds });
  249. if (response != null)
  250. {
  251. if (response.Error == ErrorCode.ERR_Success)
  252. {
  253. PoemPhotoDataManager.Instance.Remove(response.WorksIds, sourceType);
  254. EventAgent.DispatchEvent(ConstMessage.POEM_PHOTO_INFOS_CHANGE);
  255. return true;
  256. }
  257. }
  258. return false;
  259. }
  260. }
  261. }