private void RequestEvolution(EvolutionData.MonsterEvolveData evolutionData, int costCluster) { RequestList requestList = new RequestList(); GameWebAPI.RequestMN_MonsterEvolution addRequest = new GameWebAPI.RequestMN_MonsterEvolution { SetSendData = delegate(GameWebAPI.MN_Req_Evolution param) { param.userMonsterId = evolutionData.md.userMonster.userMonsterId; param.monsterId = int.Parse(evolutionData.md_next.monsterM.monsterId); }, OnReceived = delegate(GameWebAPI.RespDataMN_EvolutionExec response) { ClassSingleton <MonsterUserDataMng> .Instance.UpdateUserMonsterData(response.userMonster); if (response.IsFirstEvolution()) { this.execEvolutionReviewStatus = CMD_Evolution.EvolutionReviewStatus.FIRST_EVOLUTION_REVIEW; } else if (response.IsFirstUltimaEvolution()) { this.execEvolutionReviewStatus = CMD_Evolution.EvolutionReviewStatus.FIRST_ULTIMA_EVOLUTION_REVIEW; } } }; requestList.AddRequest(addRequest); GameWebAPI.MonsterSlotInfoListLogic addRequest2 = ChipAPIRequest.RequestAPIMonsterSlotInfo(new int[] { int.Parse(evolutionData.md.userMonster.userMonsterId) }); string beforeModelId = evolutionData.md.GetMonsterMaster().Group.modelId; string beforeGrowStep = evolutionData.md.GetMonsterMaster().Group.growStep; requestList.AddRequest(addRequest2); AppCoroutine.Start(requestList.Run(delegate() { this.evolveDataBK = evolutionData; this.EndEvolveDo(beforeModelId, beforeGrowStep, costCluster); }, delegate(Exception noop) { RestrictionInput.EndLoad(); }, null), false); }