PoemGallerySProxy.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Net;
  5. using System.Net.Http;
  6. using ET;
  7. using FairyGUI;
  8. using UnityEngine;
  9. using UnityEngine.Networking;
  10. namespace GFGGame
  11. {
  12. public static class PoemGallerySProxy
  13. {
  14. //请求画廊主题
  15. public static async ETTask<bool> ReqGalleryTheme()
  16. {
  17. S2C_GetGalleryTheme response = null;
  18. response = (S2C_GetGalleryTheme)await MessageHelper.SendToServer(new C2S_GetGalleryTheme());
  19. if (response != null)
  20. {
  21. if (response.Error == ErrorCode.ERR_Success)
  22. {
  23. PoemGalleryDataManager.Instance.ThemeOrder = response.ThemeOrder;
  24. PoemGalleryDataManager.Instance.ThemeId = response.ThemeId;
  25. return true;
  26. }
  27. }
  28. return false;
  29. }
  30. //请求画廊列表,startIndex为0,则更新列表
  31. public static async ETTask<bool> ReqGalleryList(int sortType, int startIndex, int Count)
  32. {
  33. S2C_GetGalleryList response = null;
  34. response = (S2C_GetGalleryList)await MessageHelper.SendToServer(new C2S_GetGalleryList());
  35. if (response != null)
  36. {
  37. if (response.Error == ErrorCode.ERR_Success)
  38. {
  39. // List<PoemGalleryData> list = new List<PoemGalleryData>();
  40. List<long> list = new List<long>();
  41. switch (response.SortType)
  42. {
  43. case (int)GallerySortType.Recommend:
  44. list = PoemGalleryDataManager.Instance.RecommendDatas;
  45. break;
  46. case (int)GallerySortType.Newest:
  47. list = PoemGalleryDataManager.Instance.NewestDatas;
  48. break;
  49. case (int)GallerySortType.Friend:
  50. list = PoemGalleryDataManager.Instance.FrinedDatas;
  51. break;
  52. case (int)GallerySortType.MyCollect:
  53. list = PoemGalleryDataManager.Instance.FavoriteDatas;
  54. break;
  55. case (int)GallerySortType.MyWorks:
  56. list = PoemGalleryDataManager.Instance.MySelfDatas;
  57. break;
  58. }
  59. if (response.StartIndex == 0) list.Clear();
  60. for (int i = 0; i < response.WorksList.Count; i++)
  61. {
  62. PoemGalleryData data = new PoemGalleryData();
  63. data.WorkId = response.WorksList[i].WorksId;
  64. data.AuthorId = response.WorksList[i].AuthorId;
  65. data.AuthorName = response.WorksList[i].AuthorName;
  66. data.VoteCount = response.WorksList[i].BelikedCount;
  67. data.CollectCount = response.WorksList[i].BeCollectedCount;
  68. data.VoteOrNot = response.WorksList[i].LikeOrNot;
  69. data.CollectOrNot = response.WorksList[i].CollectOrNot;
  70. data.CreateTime = response.WorksList[i].CreateTime;
  71. data.ThemeOrder = response.WorksList[i].ThemeOrder;
  72. data.ThemeId = response.WorksList[i].ThemeId;
  73. data.PictureTempUrl = response.WorksList[i].PictureTempUrl;
  74. Timers.inst.StartCoroutine(PictureStorageHelper.DownloadFile(data.PictureTempUrl, (Texture2D texture) =>
  75. {
  76. data.Ntexture = new NTexture(texture);
  77. list.Add(data.WorkId);
  78. PoemGalleryDataManager.Instance.UpdateGalleryData(data);
  79. if (list.Count == response.StartIndex + response.WorksList.Count - 1)
  80. {
  81. EventAgent.DispatchEvent(ConstMessage.GALLERY_DATA_CHANGE);
  82. }
  83. }));
  84. }
  85. return true;
  86. }
  87. }
  88. return false;
  89. }
  90. //请求投稿画廊作品
  91. public static async ETTask<string[]> ReqUpLoadGalleryWorks()
  92. {
  93. S2C_RequestUpLoadGalleryWorks response = null;
  94. response = (S2C_RequestUpLoadGalleryWorks)await MessageHelper.SendToServer(new C2S_RequestUpLoadGalleryWorks());
  95. if (response != null)
  96. {
  97. if (response.Error == ErrorCode.ERR_Success)
  98. {
  99. // PictureStorageHelper.PushToHWCloud(response.TempPictureUrl)
  100. return new string[] { response.TempPictureUrl, response.WorksId.ToString() };
  101. // return true;
  102. }
  103. }
  104. ViewManager.Hide<ModalStatusView>();
  105. return null;
  106. }
  107. //通知服务端上传成功
  108. public static async ETTask<bool> ReqNoticeGalleryWorksUploaded(long worksId)
  109. {
  110. S2C_NoticeGalleryWorksUploaded response = null;
  111. response = (S2C_NoticeGalleryWorksUploaded)await MessageHelper.SendToServer(new C2S_NoticeGalleryWorksUploaded() { WorksId = worksId });
  112. if (response != null)
  113. {
  114. if (response.Error == ErrorCode.ERR_Success)
  115. {
  116. return true;
  117. }
  118. }
  119. ViewManager.Hide<ModalStatusView>();
  120. return false;
  121. }
  122. //删除我的作品
  123. public static async ETTask<bool> ReqDeleteMyWorks(long worksId)
  124. {
  125. S2C_DeleteMyWorks response = null;
  126. response = (S2C_DeleteMyWorks)await MessageHelper.SendToServer(new C2S_DeleteMyWorks() { WorksId = worksId });
  127. if (response != null)
  128. {
  129. if (response.Error == ErrorCode.ERR_Success)
  130. {
  131. PoemGalleryDataManager.Instance.RemoveGalleryData(response.WorksId);
  132. return true;
  133. }
  134. }
  135. return false;
  136. }
  137. //收藏指定画廊作品
  138. public static async ETTask<bool> ReqCollecteGalleryWorks(long worksId)
  139. {
  140. S2C_CollecteGalleryWorks response = null;
  141. response = (S2C_CollecteGalleryWorks)await MessageHelper.SendToServer(new C2S_CollecteGalleryWorks() { WorksId = worksId });
  142. if (response != null)
  143. {
  144. if (response.Error == ErrorCode.ERR_Success)
  145. {
  146. PoemGalleryDataManager.Instance.UpdateFavoriteState(response.WorksId, true, response.BeCollectedCount);
  147. return true;
  148. }
  149. }
  150. return false;
  151. }
  152. //取消收藏指定画廊作品
  153. public static async ETTask<bool> ReqCancelCollecteGalleryWorks(long worksId)
  154. {
  155. S2C_CancelCollecteGalleryWorks response = null;
  156. response = (S2C_CancelCollecteGalleryWorks)await MessageHelper.SendToServer(new C2S_CancelCollecteGalleryWorks() { WorksId = worksId });
  157. if (response != null)
  158. {
  159. if (response.Error == ErrorCode.ERR_Success)
  160. {
  161. PoemGalleryDataManager.Instance.UpdateFavoriteState(response.WorksId, false, response.BeCollectedCount);
  162. return true;
  163. }
  164. }
  165. return false;
  166. }
  167. //点赞指定画廊作品
  168. public static async ETTask<bool> ReqVoteGalleryWorks(long worksId)
  169. {
  170. S2C_LikeGalleryWorks response = null;
  171. response = (S2C_LikeGalleryWorks)await MessageHelper.SendToServer(new C2S_LikeGalleryWorks() { WorksId = worksId });
  172. if (response != null)
  173. {
  174. if (response.Error == ErrorCode.ERR_Success)
  175. {
  176. PoemGalleryDataManager.Instance.UpdateFavoriteState(response.WorksId, true, response.BelikedCount);
  177. return true;
  178. }
  179. }
  180. return false;
  181. }
  182. //取消点赞指定画廊作品
  183. public static async ETTask<bool> ReqCancelVoteGalleryWorks(long worksId)
  184. {
  185. S2C_CancelLikeGalleryWorks response = null;
  186. response = (S2C_CancelLikeGalleryWorks)await MessageHelper.SendToServer(new C2S_CancelLikeGalleryWorks() { WorksId = worksId });
  187. if (response != null)
  188. {
  189. if (response.Error == ErrorCode.ERR_Success)
  190. {
  191. PoemGalleryDataManager.Instance.UpdateFavoriteState(response.WorksId, false, response.BelikedCount);
  192. return true;
  193. }
  194. }
  195. return false;
  196. }
  197. //获取画廊作品排行榜
  198. public static async ETTask<bool> ReqRankList()
  199. {
  200. S2C_GetGalleryWorksRankList response = null;
  201. response = (S2C_GetGalleryWorksRankList)await MessageHelper.SendToServer(new C2S_GetGalleryWorksRankList());
  202. if (response != null)
  203. {
  204. if (response.Error == ErrorCode.ERR_Success)
  205. {
  206. // List<PoemGalleryData> list = PoemGalleryDataManager.Instance.RankDatas;
  207. List<long> list = PoemGalleryDataManager.Instance.RankDatas;
  208. for (int i = 0; i < response.RankList.Count; i++)
  209. {
  210. PoemGalleryData data = new PoemGalleryData();
  211. data.WorkId = response.RankList[i].WorksId;
  212. data.Rank = i + 1;
  213. data.AuthorId = response.RankList[i].AuthorId;
  214. data.AuthorName = response.RankList[i].AuthorName;
  215. data.VoteCount = response.RankList[i].BelikedCount;
  216. data.CollectCount = response.RankList[i].BeCollectedCount;
  217. data.VoteOrNot = response.RankList[i].LikeOrNot;
  218. data.CollectOrNot = response.RankList[i].CollectOrNot;
  219. data.CreateTime = response.RankList[i].CreateTime;
  220. data.ThemeOrder = response.RankList[i].ThemeOrder;
  221. data.ThemeId = response.RankList[i].ThemeId;
  222. data.PictureTempUrl = response.RankList[i].PictureTempUrl;
  223. Timers.inst.StartCoroutine(PictureStorageHelper.DownloadFile(data.PictureTempUrl, (Texture2D texture) =>
  224. {
  225. data.Ntexture = new NTexture(texture);
  226. list.Add(data.WorkId);
  227. PoemGalleryDataManager.Instance.UpdateGalleryData(data);
  228. if (list.Count == response.RankList.Count)
  229. {
  230. EventAgent.DispatchEvent(ConstMessage.GALLERY_RANK_DATA_CHANGE);
  231. }
  232. }));
  233. }
  234. return true;
  235. }
  236. }
  237. return false;
  238. }
  239. }
  240. }