public override IEnumerator Exec(GameWebAPI.GA_Req_ExecGacha playGashaRequestParam, bool isTutorial) { GameWebAPI.RespDataGA_ExecGacha gashaResult = null; int[] userMonsterIdList = null; GameWebAPI.RequestGA_GashaExec playGashaRequest = new GameWebAPI.RequestGA_GashaExec { SetSendData = delegate(GameWebAPI.GA_Req_ExecGacha param) { param.gachaId = playGashaRequestParam.gachaId; param.playCount = playGashaRequestParam.playCount; param.itemCount = playGashaRequestParam.itemCount; }, OnReceived = delegate(GameWebAPI.RespDataGA_ExecGacha response) { gashaResult = response; userMonsterIdList = new int[gashaResult.userMonsterList.Length]; for (int i = 0; i < gashaResult.userMonsterList.Length; i++) { int num = 0; if (int.TryParse(gashaResult.userMonsterList[i].userMonsterId, out num)) { userMonsterIdList[i] = num; } } this.SetGashaResult(gashaResult, playGashaRequestParam.playCount); } }; GameWebAPI.MonsterSlotInfoListLogic monsterSlotRequest = new GameWebAPI.MonsterSlotInfoListLogic { SetSendData = delegate(GameWebAPI.ReqDataCS_MonsterSlotInfoListLogic param) { param.userMonsterId = userMonsterIdList; }, OnReceived = delegate(GameWebAPI.RespDataCS_MonsterSlotInfoListLogic response) { ChipDataMng.GetUserChipSlotData().UpdateMonsterSlotList(response.slotInfo); ClassSingleton <MonsterUserDataMng> .Instance.RefreshMonsterSlot(userMonsterIdList); } }; RestrictionInput.StartLoad(RestrictionInput.LoadType.LARGE_IMAGE_MASK_ON); APIRequestTask task = new APIRequestTask(playGashaRequest, true); task.Add(new APIRequestTask(monsterSlotRequest, true)); yield return(AppCoroutine.Start(task.Run(delegate { this.SetGashaResultWindow(gashaResult, userMonsterIdList, isTutorial); this.SetGashaCutScene(gashaResult, isTutorial); }, delegate(Exception noop) { RestrictionInput.EndLoad(); GUIManager.CloseAllCommonDialog(null); }, null), false)); yield break; }
protected void SetGashaResultWindow(GameWebAPI.RespDataGA_ExecGacha gashaResult, int[] userMonsterIdList, bool isTutorial) { CMD_MonsterGashaResult.gashaInfo = this.gashaInfo; GameWebAPI.RespDataGA_ExecGacha.GachaResultMonster[] userMonsterList = gashaResult.userMonsterList; CMD_MonsterGashaResult.RewardsData = gashaResult.rewards; CMD_MonsterGashaResult.DataList = new List <MonsterData>(); for (int i = 0; i < userMonsterList.Length; i++) { CMD_MonsterGashaResult.DataList.Add(ClassSingleton <MonsterUserDataMng> .Instance.GetUserMonster(userMonsterIdList[i])); } CMD_MonsterGashaResult.IconNewFlagList = new List <bool>(); for (int j = 0; j < userMonsterList.Length; j++) { CMD_MonsterGashaResult.IconNewFlagList.Add(Convert.ToBoolean(userMonsterList[j].isNew)); } CMD_MonsterGashaResult.isTutorial = isTutorial; }
public override IEnumerator Exec(GameWebAPI.GA_Req_ExecGacha playGashaRequestParam, bool isTutorial) { GameWebAPI.RespDataGA_ExecGacha gashaResult = this.GetFakeGashaResult(); int[] userMonsterIdList = new int[gashaResult.userMonsterList.Length]; for (int i = 0; i < gashaResult.userMonsterList.Length; i++) { int num = 0; if (int.TryParse(gashaResult.userMonsterList[i].userMonsterId, out num)) { userMonsterIdList[i] = num; } } base.UpdateUserAssetsInventory(playGashaRequestParam.playCount); base.SetGashaResultWindow(gashaResult, userMonsterIdList, isTutorial); base.SetGashaCutScene(gashaResult, isTutorial); yield return(null); yield break; }
protected void SetGashaCutScene(GameWebAPI.RespDataGA_ExecGacha gashaResult, bool isTutorial) { GameWebAPI.RespDataGA_ExecGacha.GachaResultMonster[] userMonsterList = gashaResult.userMonsterList; string[] array = new string[userMonsterList.Length]; string[] array2 = new string[userMonsterList.Length]; for (int i = 0; i < userMonsterList.Length; i++) { MonsterUserData userMonster = ClassSingleton <MonsterUserDataMng> .Instance.GetUserMonster(userMonsterList[i].userMonsterId); GameWebAPI.RespDataMA_GetMonsterMG.MonsterM group = userMonster.GetMonsterMaster().Group; array[i] = group.modelId; array2[i] = group.growStep; } CutsceneDataGasha cutsceneDataGasha = new CutsceneDataGasha(); cutsceneDataGasha.path = "Cutscenes/Gasha"; cutsceneDataGasha.modelIdList = array; cutsceneDataGasha.growStepList = array2; CutsceneDataGasha cutsceneDataGasha2 = cutsceneDataGasha; if (ExecGashaMonster.< > f__mg$cache0 == null) { ExecGashaMonster.< > f__mg$cache0 = new Action(CutSceneMain.FadeReqCutSceneEnd); } cutsceneDataGasha2.endCallback = ExecGashaMonster.< > f__mg$cache0; CutsceneDataGasha cutsceneDataGasha3 = cutsceneDataGasha; Loading.Invisible(); if (isTutorial) { this.showedGashaResultAction = new Action(Singleton <TutorialObserver> .Instance.ResumeScript); } CutsceneDataBase cutsceneData = cutsceneDataGasha3; if (ExecGashaMonster.< > f__mg$cache1 == null) { ExecGashaMonster.< > f__mg$cache1 = new Action(CMD_MonsterGashaResult.CreateDialog); } CutSceneMain.FadeReqCutScene(cutsceneData, ExecGashaMonster.< > f__mg$cache1, null, new Action <int>(this.OnShowedGashaResultDialog), 0.5f, 0.5f); }
private GameWebAPI.RespDataGA_ExecGacha GetFakeGashaResult() { GameWebAPI.RespDataGA_ExecGacha respDataGA_ExecGacha = new GameWebAPI.RespDataGA_ExecGacha(); MonsterData monsterData; if (this.gashaInfo.priceType.GetCostAssetsCategory() == MasterDataMng.AssetCategory.LINK_POINT) { monsterData = ClassSingleton <MonsterUserDataMng> .Instance.GetOldestMonster(); } else { monsterData = ClassSingleton <MonsterUserDataMng> .Instance.GetNewestMonster(); } respDataGA_ExecGacha.userMonsterList = new GameWebAPI.RespDataGA_ExecGacha.GachaResultMonster[] { new GameWebAPI.RespDataGA_ExecGacha.GachaResultMonster(monsterData.userMonster) { isNew = 1 } }; return(respDataGA_ExecGacha); }
private void SetGashaResult(GameWebAPI.RespDataGA_ExecGacha gashaResult, int playCount) { UserHomeInfo.dirtyMyPage = true; ClassSingleton <MonsterUserDataMng> .Instance.AddUserMonsterData(gashaResult.userMonsterList); ClassSingleton <GUIMonsterIconList> .Instance.RefreshList(ClassSingleton <MonsterUserDataMng> .Instance.GetUserMonsterList()); for (int i = 0; i < gashaResult.userMonsterList.Length; i++) { if (Convert.ToBoolean(gashaResult.userMonsterList[i].isNew)) { MonsterUserData userMonster = ClassSingleton <MonsterUserDataMng> .Instance.GetUserMonster(gashaResult.userMonsterList[i].userMonsterId); GameWebAPI.RespDataMA_GetMonsterMG.MonsterM group = userMonster.GetMonsterMaster().Group; if (!MonsterPicturebookData.ExistPicturebook(group.monsterCollectionId)) { MonsterPicturebookData.AddPictureBook(group.monsterCollectionId); } } } base.UpdateUserAssetsInventory(playCount); base.UpdateGashaInfo(playCount); }