MiniGameProxy.cs 8.2 KB

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