using System; using System.Collections; using System.Collections.Generic; using System.Net; using System.Net.Http; using ET; using FairyGUI; using UnityEngine; using UnityEngine.Networking; namespace GFGGame { public static class PoemGallerySProxy { //请求画廊主题 public static async ETTask ReqGalleryTheme() { S2C_GetGalleryTheme response = null; response = (S2C_GetGalleryTheme)await MessageHelper.SendToServer(new C2S_GetGalleryTheme()); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { PoemGalleryDataManager.Instance.ThemeOrder = response.ThemeOrder; PoemGalleryDataManager.Instance.ThemeId = response.ThemeConfigId; PoemGalleryDataManager.Instance.MyWorksCountOfTheme = response.MyWorksCountOfTheme; PoemGalleryDataManager.Instance.HasBonus = response.HasBonus; return true; } } return false; } //请求画廊列表,startIndex为0,则更新列表 public static async ETTask ReqGalleryList(int sortType, int startIndex, int Count) { S2C_GetGalleryList response = null; response = (S2C_GetGalleryList)await MessageHelper.SendToServer(new C2S_GetGalleryList() { SortType = sortType, StartIndex = startIndex, Count = Count }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { List list = new List(); switch (response.SortType) { case (int)GallerySortType.Recommend: list = PoemGalleryDataManager.Instance.RecommendDatas; break; case (int)GallerySortType.Newest: list = PoemGalleryDataManager.Instance.NewestDatas; break; case (int)GallerySortType.Friend: list = PoemGalleryDataManager.Instance.FrinedDatas; break; case (int)GallerySortType.MyCollect: list = PoemGalleryDataManager.Instance.FavoriteDatas; break; case (int)GallerySortType.MyWorks: list = PoemGalleryDataManager.Instance.MySelfDatas; break; } if (response.StartIndex == 0) list.Clear(); for (int i = 0; i < response.WorksList.Count; i++) { PoemGalleryData data = PoemGalleryDataManager.Instance.GetGalleryDataById(response.WorksList[i].WorksId); if (data != null) { PoemGalleryDataManager.Instance.UpdateRoleInfo(response.WorksList[i].WorksId, response.WorksList[i].AuthorName); PoemGalleryDataManager.Instance.UpdateFavoriteState(response.WorksList[i].WorksId, response.WorksList[i].CollectOrNot, response.WorksList[i].BeCollectedCount); PoemGalleryDataManager.Instance.UpdateVoteiteState(response.WorksList[i].WorksId, response.WorksList[i].LikeOrNot, response.WorksList[i].BelikedCount); } else { data = new PoemGalleryData(); data.WorkId = response.WorksList[i].WorksId; data.AuthorId = response.WorksList[i].AuthorId; data.AuthorName = response.WorksList[i].AuthorName; data.VoteCount = response.WorksList[i].BelikedCount; data.CollectCount = response.WorksList[i].BeCollectedCount; data.VoteOrNot = response.WorksList[i].LikeOrNot; data.CollectOrNot = response.WorksList[i].CollectOrNot; data.CreateTime = response.WorksList[i].CreateTime; data.ThemeOrder = response.WorksList[i].ThemeOrder; data.ThemeId = response.WorksList[i].ThemeId; data.PictureTempUrl = response.WorksList[i].PictureTempUrl; PoemGalleryDataManager.Instance.UpdateGalleryData(data); } list.Add(data.WorkId); } return true; } } return false; } //获取画廊作品排行榜 public static async ETTask ReqRankList() { S2C_GetGalleryWorksRankList response = null; response = (S2C_GetGalleryWorksRankList)await MessageHelper.SendToServer(new C2S_GetGalleryWorksRankList()); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { PoemGalleryDataManager.Instance.MyRank = response.MyRank; List list = PoemGalleryDataManager.Instance.RankDatas; list.Clear(); for (int i = 0; i < response.RankList.Count; i++) { PoemGalleryData data = PoemGalleryDataManager.Instance.GetGalleryDataById(response.RankList[i].WorksId); if (data != null) { PoemGalleryDataManager.Instance.UpdateRoleInfo(response.RankList[i].WorksId, response.RankList[i].AuthorName, i + 1); PoemGalleryDataManager.Instance.UpdateFavoriteState(response.RankList[i].WorksId, response.RankList[i].CollectOrNot, response.RankList[i].BeCollectedCount); PoemGalleryDataManager.Instance.UpdateVoteiteState(response.RankList[i].WorksId, response.RankList[i].LikeOrNot, response.RankList[i].BelikedCount); } else { data = new PoemGalleryData(); data.WorkId = response.RankList[i].WorksId; data.Rank = i + 1; data.AuthorId = response.RankList[i].AuthorId; data.AuthorName = response.RankList[i].AuthorName; data.VoteCount = response.RankList[i].BelikedCount; data.CollectCount = response.RankList[i].BeCollectedCount; data.VoteOrNot = response.RankList[i].LikeOrNot; data.CollectOrNot = response.RankList[i].CollectOrNot; data.CreateTime = response.RankList[i].CreateTime; data.ThemeOrder = response.RankList[i].ThemeOrder; data.ThemeId = response.RankList[i].ThemeId; data.PictureTempUrl = response.RankList[i].PictureTempUrl; PoemGalleryDataManager.Instance.UpdateGalleryData(data); } list.Add(data.WorkId); } return true; } } return false; } //请求投稿画廊作品 public static async ETTask ReqUpLoadGalleryWorks() { S2C_RequestUpLoadGalleryWorks response = null; response = (S2C_RequestUpLoadGalleryWorks)await MessageHelper.SendToServer(new C2S_RequestUpLoadGalleryWorks()); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { return new object[] { response.TempPictureUrl, response.WorksId }; } } ViewManager.Hide(); return null; } //通知服务端上传成功 public static async ETTask ReqNoticeGalleryWorksUploaded(long worksId, Texture2D tex) { S2C_NoticeGalleryWorksUploaded response = null; response = (S2C_NoticeGalleryWorksUploaded)await MessageHelper.SendToServer(new C2S_NoticeGalleryWorksUploaded() { WorksId = worksId }); ViewManager.Hide(); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { PoemGalleryData galleryData = new PoemGalleryData(); galleryData.WorkId = worksId; galleryData.Rank = 0; galleryData.AuthorId = RoleDataManager.roleId; galleryData.AuthorName = RoleDataManager.roleName; galleryData.CreateTime = TimeHelper.ServerNow(); galleryData.ThemeOrder = PoemGalleryDataManager.Instance.ThemeOrder; galleryData.ThemeId = PoemGalleryDataManager.Instance.ThemeId; galleryData.Ntexture = new NTexture(tex); PoemGalleryDataManager.Instance.UpdateGalleryData(galleryData); PoemGalleryDataManager.Instance.MySelfDatas.Insert(0, galleryData.WorkId); PoemGalleryDataManager.Instance.MyWorksCountOfTheme = response.MyWorksCountOfTheme; PromptController.Instance.ShowFloatTextPrompt("上传成功"); return true; } } return false; } //删除我的作品 public static async ETTask ReqDeleteMyWorks(long worksId) { S2C_DeleteMyWorks response = null; response = (S2C_DeleteMyWorks)await MessageHelper.SendToServer(new C2S_DeleteMyWorks() { WorksId = worksId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { PoemGalleryDataManager.Instance.RemoveGalleryData(response.WorksId); PoemGalleryDataManager.Instance.MyWorksCountOfTheme = response.MyWorksCountOfTheme; EventAgent.DispatchEvent(ConstMessage.GALLERY_DATA_CHANGE); return true; } } return false; } //收藏指定画廊作品 public static async ETTask ReqCollecteGalleryWorks(long worksId) { S2C_CollecteGalleryWorks response = null; response = (S2C_CollecteGalleryWorks)await MessageHelper.SendToServer(new C2S_CollecteGalleryWorks() { WorksId = worksId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { PoemGalleryDataManager.Instance.UpdateFavoriteState(response.WorksId, true, response.BeCollectedCount); return true; } } return false; } //取消收藏指定画廊作品 public static async ETTask ReqCancelCollecteGalleryWorks(long worksId) { S2C_CancelCollecteGalleryWorks response = null; response = (S2C_CancelCollecteGalleryWorks)await MessageHelper.SendToServer(new C2S_CancelCollecteGalleryWorks() { WorksId = worksId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { PoemGalleryDataManager.Instance.UpdateFavoriteState(response.WorksId, false, response.BeCollectedCount); return true; } } return false; } //点赞指定画廊作品 public static async ETTask ReqVoteGalleryWorks(long worksId) { S2C_LikeGalleryWorks response = null; response = (S2C_LikeGalleryWorks)await MessageHelper.SendToServer(new C2S_LikeGalleryWorks() { WorksId = worksId }); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { PoemGalleryDataManager.Instance.UpdateVoteiteState(response.WorksId, true, response.BelikedCount); return true; } } return false; } //领取排行榜奖励 public static async ETTask ReqGetGalleryRankBonus() { S2C_GetGalleryRankBonus response = null; response = (S2C_GetGalleryRankBonus)await MessageHelper.SendToServer(new C2S_GetGalleryRankBonus()); if (response != null) { if (response.Error == ErrorCode.ERR_Success) { PoemGalleryDataManager.Instance.MyWorksRanks = response.MyWorksRanks; return true; } } return false; } } }