using ET; using System.Collections.Generic; namespace GFGGame { class MiniGameProxy { public static async ETTask ReqMiniGameStart(int gameID,int gameType,int activityId) { var response = await MessageHelper.SendToServer(new C2S_MiniGameStart { GameId = gameID,GameType = gameType,ActivityId = activityId }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; return true; } public static async ETTask ReqMiniGameEnd(int gameID, int gameType,int totalTime ,bool result,int activityId,bool show) { var response = (S2C_MiniGameEnd)await MessageHelper.SendToServer(new C2S_MiniGameEnd { GameId = gameID, GameType = gameType, TotalTime = totalTime, IsWin = result,ActivityId = activityId }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; MiniGameDateManager.Instance.itemList = response.BonusList; //奖励弹窗 if(show) { BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList)); } //BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList)); return true; } public static async ETTask ReqGetChallengeReward(int activityId = 1) { bool isOpen = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitStlyc) > 0; if (!isOpen) { return false; } return await ReqGetActivityGameInfos(activityId); } public static async ETTask ReqGetActivityGameInfos(int activityId = 1) { ActivityInfo isOpen = ActivityGlobalDataManager.Instance.GetActivityInfo(activityId); if (isOpen == null) { return false; } var response = (S2C_GetActivityGameInfos)await MessageHelper.SendToServer(new C2S_GetActivityGameInfos { ActivityId = activityId }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; MiniGameDateManager.Instance.gameinfoList = response.GameInfoList; return true; } public static async ETTask ReqGetReward(int gameID, int gameType,int activityId,int star) { var response = (S2C_GetStarMiniGameRewrd)await MessageHelper.SendToServer(new C2S_GetStarMiniGameRewrd { GameId = gameID, GameType = gameType, ActivityId = activityId,Star = star }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; for (int i =0;i< MiniGameDateManager.Instance.gameinfoList.Count;i++) { if (MiniGameDateManager.Instance.gameinfoList[i].GameType == 1) { MiniGameDateManager.Instance.gameinfoList[i] = response.GameInfo; } } //奖励弹窗 BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList)); return true; } public static async ETTask ReqGetFirstPassReward(int gameID, int gameType, int activityId) { var response = (S2C_GetFirstPassReward)await MessageHelper.SendToServer(new C2S_GetFirstPassReward { GameId = gameID, GameType = gameType, ActivityId = activityId }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; for (int i = 0; i < MiniGameDateManager.Instance.gameinfoList.Count; i++) { if (MiniGameDateManager.Instance.gameinfoList[i].GameId == response.GameInfo.GameId) { MiniGameDateManager.Instance.gameinfoList[i] = response.GameInfo; break; } } //奖励弹窗 BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.BonusList)); return true; } public static async ETTask ReqGetGameUnlock(int id,int type,int activityId) { var response = (S2C_MiniGameUnlock)await MessageHelper.SendToServer(new C2S_MiniGameUnlock {GameId = id,GameType = type, ActivityId = activityId }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; return true; } //合成游戏 public static async ETTask ReqMergeGameInfo() { var response = (S2C_GetMergeGameInfo)await MessageHelper.SendToServer(new C2S_GetMergeGameInfo { SubType = MiniGameDateManager.Instance.MergeGameType }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; MiniGameDateManager.Instance.taskID = response.CurLevelId; MiniGameDateManager.Instance.idList_CS = response.ShowLatticeList; MiniGameDateManager.Instance.NewItemIdDic.Clear(); for(int i =0;i< response.ItemsKey.Count;i++) { MiniGameDateManager.Instance.NewItemIdDic.Add(response.ItemsKey[i],response.ItemsVal[i]); } MiniGameDateManager.Instance.CurLevelStatus = response.CurLevelStatus; return true; } //合成材料,小心引用传递 public static async ETTask ReqMergeGame(int OldIdA,int OldIdB, List BeforeList,List AfterList) { var response = (S2C_MergeGameMaterialSynthesis)await MessageHelper.SendToServer(new C2S_MergeGameMaterialSynthesis { SubType = MiniGameDateManager.Instance.MergeGameType, OldItemIdA = OldIdA, OldItemIdB = OldIdB, BeforeMovShowLatticeList = BeforeList, AfterMovShowLatticeList = AfterList }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; MiniGameDateManager.Instance.idList_CS = response.ShowLatticeList; MiniGameDateManager.Instance.NewItemIdDic.Clear(); for (int i = 0; i < response.ItemsKey.Count; i++) { MiniGameDateManager.Instance.NewItemIdDic.Add(response.ItemsKey[i], response.ItemsVal[i]); } BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.RewardList)); return true; } //按钮获得材料 public static async ETTask ReqMergeGameBtn(int type,int id) { var response = (S2C_MergeGameExchangeMaterial)await MessageHelper.SendToServer(new C2S_MergeGameExchangeMaterial { ExchangeType = type, LevelId = id }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; MiniGameDateManager.Instance.idList_CS = response.ShowLatticeList; MiniGameDateManager.Instance.ItemIdVPosition = response.ItemIdVPosition; return true; } public static async ETTask ReqMergeGameLevelPass(int levelID) { var response = (S2C_MergeGameLevelPass)await MessageHelper.SendToServer(new C2S_MergeGameLevelPass { SubType = MiniGameDateManager.Instance.MergeGameType, LevelId = levelID }) ; if (!(response is { Error: ErrorCode.ERR_Success })) return false; MiniGameDateManager.Instance.idList_CS = response.ShowLatticeList; MiniGameDateManager.Instance.CurLevelStatus = response.CurLevelStatus; MiniGameDateManager.Instance.taskID = response.CurLevelId; BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.RewardList)); return true; } public static async ETTask ReqMergeGameNewStyle() { var response = (S2C_MergeGameCancelNewStyle)await MessageHelper.SendToServer(new C2S_MergeGameCancelNewStyle { SubType = MiniGameDateManager.Instance.MergeGameType, }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; MiniGameDateManager.Instance.NewItemIdDic.Clear(); for (int i = 0; i < response.ItemsKey.Count; i++) { MiniGameDateManager.Instance.NewItemIdDic.Add(response.ItemsKey[i], response.ItemsVal[i]); } return true; } public static async ETTask ReqMergeGameSellBtn(int id,int index) { var response = (S2C_MergeGameSellingMaterials)await MessageHelper.SendToServer(new C2S_MergeGameSellingMaterials { SubType = MiniGameDateManager.Instance.MergeGameType, ResType = MiniGameDateManager.Instance.MergeGameMatType, Materialld = id, Position = index }); if (!(response is { Error: ErrorCode.ERR_Success })) return false; MiniGameDateManager.Instance.idList_CS = response.ShowLatticeList; BonusController.TryShowBonusList(ItemUtil.CreateItemDataList(response.RewardList)); return true; } } }