MiniGameProxy.cs 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. using ET;
  2. using System.Collections.Generic;
  3. namespace GFGGame
  4. {
  5. class MiniGameProxy
  6. {
  7. public static async ETTask<bool> ReqMiniGameStart(int gameID, int gameType, int activityId)
  8. {
  9. var response = await MessageHelper.SendToServer(new C2S_MiniGameStart
  10. { GameId = gameID, GameType = gameType, ActivityId = activityId });
  11. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  12. return true;
  13. }
  14. public static async ETTask<bool> ReqMiniGameEnd(int gameID, int gameType, int totalTime, bool result,
  15. int activityId, bool show)
  16. {
  17. var response = (S2C_MiniGameEnd)await MessageHelper.SendToServer(new C2S_MiniGameEnd
  18. {
  19. GameId = gameID, GameType = gameType, TotalTime = totalTime, IsWin = result, ActivityId = activityId
  20. });
  21. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  22. MiniGameDateManager.Instance.itemList = response.BonusList;
  23. //奖励弹窗
  24. if (show)
  25. {
  26. BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
  27. }
  28. //BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
  29. return true;
  30. }
  31. public static async ETTask<bool> ReqGetChallengeReward(int activityId = 1)
  32. {
  33. bool isOpen =
  34. ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitStlyc) > 0;
  35. if (!isOpen)
  36. {
  37. return false;
  38. }
  39. return await ReqGetActivityGameInfos(activityId);
  40. }
  41. public static async ETTask<bool> ReqGetActivityGameInfos(int activityId = 1)
  42. {
  43. ActivityInfo isOpen = ActivityGlobalDataManager.Instance.GetActivityInfo(activityId);
  44. if (isOpen == null)
  45. {
  46. return false;
  47. }
  48. var response = (S2C_GetActivityGameInfos)await MessageHelper.SendToServer(new C2S_GetActivityGameInfos
  49. { ActivityId = activityId });
  50. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  51. MiniGameDateManager.Instance.gameinfoList = response.GameInfoList;
  52. return true;
  53. }
  54. public static async ETTask<bool> ReqGetReward(int gameID, int gameType, int activityId, int star)
  55. {
  56. var response = (S2C_GetStarMiniGameRewrd)await MessageHelper.SendToServer(new C2S_GetStarMiniGameRewrd
  57. { GameId = gameID, GameType = gameType, ActivityId = activityId, Star = star });
  58. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  59. for (int i = 0; i < MiniGameDateManager.Instance.gameinfoList.Count; i++)
  60. {
  61. if (MiniGameDateManager.Instance.gameinfoList[i].GameType == 1)
  62. {
  63. MiniGameDateManager.Instance.gameinfoList[i] = response.GameInfo;
  64. }
  65. }
  66. //奖励弹窗
  67. BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
  68. return true;
  69. }
  70. public static async ETTask<bool> ReqGetFirstPassReward(int gameID, int gameType, int activityId)
  71. {
  72. var response = (S2C_GetFirstPassReward)await MessageHelper.SendToServer(new C2S_GetFirstPassReward
  73. { GameId = gameID, GameType = gameType, ActivityId = activityId });
  74. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  75. for (int i = 0; i < MiniGameDateManager.Instance.gameinfoList.Count; i++)
  76. {
  77. if (MiniGameDateManager.Instance.gameinfoList[i].GameId == response.GameInfo.GameId)
  78. {
  79. MiniGameDateManager.Instance.gameinfoList[i] = response.GameInfo;
  80. break;
  81. }
  82. }
  83. //奖励弹窗
  84. BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList));
  85. return true;
  86. }
  87. public static async ETTask<bool> ReqGetGameUnlock(int id, int type, int activityId)
  88. {
  89. var response = (S2C_MiniGameUnlock)await MessageHelper.SendToServer(new C2S_MiniGameUnlock
  90. { GameId = id, GameType = type, ActivityId = activityId });
  91. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  92. return true;
  93. }
  94. //合成游戏
  95. public static async ETTask<bool> ReqMergeGameInfo()
  96. {
  97. var response = (S2C_GetMergeGameInfo)await MessageHelper.SendToServer(new C2S_GetMergeGameInfo
  98. { SubType = MiniGameDateManager.Instance.MergeGameType });
  99. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  100. MiniGameDateManager.Instance.taskID = response.CurLevelId;
  101. MiniGameDateManager.Instance.idList_CS = response.ShowLatticeList;
  102. MiniGameDateManager.Instance.NewItemIdDic.Clear();
  103. for (int i = 0; i < response.ItemsKey.Count; i++)
  104. {
  105. MiniGameDateManager.Instance.NewItemIdDic.Add(response.ItemsKey[i], response.ItemsVal[i]);
  106. }
  107. MiniGameDateManager.Instance.CurLevelStatus = response.CurLevelStatus;
  108. return true;
  109. }
  110. //合成材料,小心引用传递
  111. public static async ETTask<bool> ReqMergeGame(int OldIdA, int OldIdB, List<int> BeforeList, List<int> AfterList)
  112. {
  113. var response = (S2C_MergeGameMaterialSynthesis)await MessageHelper.SendToServer(
  114. new C2S_MergeGameMaterialSynthesis
  115. {
  116. SubType = MiniGameDateManager.Instance.MergeGameType,
  117. OldItemIdA = OldIdA,
  118. OldItemIdB = OldIdB,
  119. BeforeMovShowLatticeList = BeforeList,
  120. AfterMovShowLatticeList = AfterList
  121. });
  122. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  123. MiniGameDateManager.Instance.idList_CS = response.ShowLatticeList;
  124. MiniGameDateManager.Instance.NewItemIdDic.Clear();
  125. for (int i = 0; i < response.ItemsKey.Count; i++)
  126. {
  127. MiniGameDateManager.Instance.NewItemIdDic.Add(response.ItemsKey[i], response.ItemsVal[i]);
  128. }
  129. BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.RewardList));
  130. return true;
  131. }
  132. //按钮获得材料
  133. public static async ETTask<bool> ReqMergeGameBtn(int type, int id)
  134. {
  135. var response = (S2C_MergeGameExchangeMaterial)await MessageHelper.SendToServer(
  136. new C2S_MergeGameExchangeMaterial
  137. {
  138. ExchangeType = type,
  139. LevelId = id
  140. });
  141. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  142. MiniGameDateManager.Instance.idList_CS = response.ShowLatticeList;
  143. MiniGameDateManager.Instance.ItemIdVPosition = response.ItemIdVPosition;
  144. return true;
  145. }
  146. public static async ETTask<bool> ReqMergeGameLevelPass(int levelID)
  147. {
  148. var response = (S2C_MergeGameLevelPass)await MessageHelper.SendToServer(new C2S_MergeGameLevelPass
  149. {
  150. SubType = MiniGameDateManager.Instance.MergeGameType,
  151. LevelId = levelID
  152. });
  153. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  154. MiniGameDateManager.Instance.idList_CS = response.ShowLatticeList;
  155. MiniGameDateManager.Instance.CurLevelStatus = response.CurLevelStatus;
  156. MiniGameDateManager.Instance.taskID = response.CurLevelId;
  157. BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.RewardList));
  158. return true;
  159. }
  160. public static async ETTask<bool> ReqMergeGameNewStyle()
  161. {
  162. var response = (S2C_MergeGameCancelNewStyle)await MessageHelper.SendToServer(new C2S_MergeGameCancelNewStyle
  163. {
  164. SubType = MiniGameDateManager.Instance.MergeGameType,
  165. });
  166. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  167. MiniGameDateManager.Instance.NewItemIdDic.Clear();
  168. for (int i = 0; i < response.ItemsKey.Count; i++)
  169. {
  170. MiniGameDateManager.Instance.NewItemIdDic.Add(response.ItemsKey[i], response.ItemsVal[i]);
  171. }
  172. return true;
  173. }
  174. public static async ETTask<bool> ReqMergeGameSellBtn(int id, int index)
  175. {
  176. var response = (S2C_MergeGameSellingMaterials)await MessageHelper.SendToServer(
  177. new C2S_MergeGameSellingMaterials
  178. {
  179. SubType = MiniGameDateManager.Instance.MergeGameType,
  180. ResType = MiniGameDateManager.Instance.MergeGameMatType,
  181. Materialld = id,
  182. Position = index
  183. });
  184. if (!(response is { Error: ErrorCode.ERR_Success })) return false;
  185. MiniGameDateManager.Instance.idList_CS = response.ShowLatticeList;
  186. BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.RewardList));
  187. return true;
  188. }
  189. }
  190. }