public IEnumerator LoadPassiveEffect(string skillPassive, Action <PassiveEffectParams[], string> result) { BattleDebug.Log("--- 受動スキルエフェクト単体ロード [" + skillPassive + "] : 開始"); List <PassiveEffectParams> passiveList = new List <PassiveEffectParams>(); for (int i = 0; i < base.battleStateData.maxCharacterLength; i++) { GameObject prefab = base.stateManager.serverControl.GetPassiveEffectPrefab(skillPassive); GameObject skillObject = base.Instantiate <GameObject>(prefab); yield return(null); skillObject.name = skillPassive; skillObject.transform.SetParent(base.battleStateData.skillEffectRoot); PassiveEffectParams passiveEffectParams = skillObject.GetComponent <PassiveEffectParams>(); IEnumerator skillInit = passiveEffectParams.Initialize(base.hierarchyData.cameraObject.camera3D); while (skillInit.MoveNext()) { yield return(null); } skillObject.SetActive(false); passiveList.Add(passiveEffectParams); } result(passiveList.ToArray(), skillPassive); BattleDebug.Log("--- 受動スキルエフェクト単体ロード [" + skillPassive + "] : 完了"); yield break; }
public IEnumerator LoadCameraMotion(string cameraMotionId, Action <CameraParams, string> result = null) { BattleDebug.Log("--- カメラモーション単体ロード cameraMotionId[" + cameraMotionId + "] : 開始"); CameraParams cameraParams = null; if (this.cameraParamsObject.TryGetValue(cameraMotionId, out cameraParams)) { cameraParams = this.cameraParamsObject[cameraMotionId]; } else { GameObject cameraMotionPrefab = this.m_battleStateManager.serverControl.GetCameraMotionPrefab(cameraMotionId); GameObject cameraMotion = base.Instantiate <GameObject>(cameraMotionPrefab); this.cameraParamsObject.Add(cameraMotionId, cameraMotion.GetComponent <CameraParams>()); cameraParams = this.cameraParamsObject[cameraMotionId]; cameraParams.gameObject.name = cameraMotionId; yield return(null); cameraParams.transform.SetParent(this.battleStateData.cameraMotionRoot); cameraParams.currentTargetCamera = this.hierarchyData.cameraObject.camera3D; cameraParams.GetPostEffectController(this.hierarchyData.cameraObject.postEffect); cameraParams.gameObject.SetActive(false); } if (result != null) { result(cameraParams, cameraMotionId); } BattleDebug.Log("--- カメラモーション単体ロード cameraMotionId[" + cameraMotionId + "] : 完了"); yield break; }
protected override IEnumerator MainRoutine() { BattleObjectPooler.CallInitialize(); BattleObjectPooler.isCheckEnable = false; TextureTimeScrollRealTime.TimeReset(); this.SetLoadingImage(true); this.SetActiveHierarcyRendering(false); base.stateManager.initialize.InitializeRoots(); base.battleStateData.beforeConfirmDigiStoneNumber = base.hierarchyData.digiStoneNumber; List <IEnumerator> functionList = new List <IEnumerator>(); functionList.Add(this.LoadBeforeInitializeUI()); functionList.Add(this.InitSound()); functionList.Add(this.CheckRecover()); functionList.Add(this.LoadResources()); functionList.Add(this.LoadPlayer()); functionList.Add(this.LoadEnemy()); functionList.Add(this.LoadCharacterAfter()); functionList.Add(this.LoadCommonEffect()); functionList.Add(this.LoadSkill()); functionList.Add(this.LoadAfterInitializeUI()); Action loading = base.stateManager.battleUiComponents.initializeUi.GetLoadingInvoke(functionList.Count); TimeProfiler.BeginTotalProfile(); foreach (IEnumerator function in functionList) { TimeProfiler.BeginProfile(); while (function.MoveNext()) { yield return(null); } loading(); yield return(new WaitForEndOfFrame()); TimeProfiler.EndProfile(); DkLog.W(string.Format("経過時間 : {0} | {1}", TimeProfiler.ElapseTime, function), false); } TimeProfiler.EndTotalProfile(); DkLog.W(string.Format("経過時間(total) : {0}", TimeProfiler.TotalElapseTime), false); for (int i = 0; i < base.hierarchyData.usePlayerCharacters.Length; i++) { bool isLeade = i == base.hierarchyData.leaderCharacter; CharacterStateControl characterStateControl = base.battleStateData.playerCharacters[i]; string resourcePath = GUIMonsterIcon.InternalGetMonsterIconPathByIconId(characterStateControl.playerStatus.thumbnailId); string monsterIconPathByIconId = GUIMonsterIcon.GetMonsterIconPathByIconId(characterStateControl.playerStatus.thumbnailId); base.stateManager.uiControl.ApplyMonsterButtonIcon(i, characterStateControl, isLeade, resourcePath, monsterIconPathByIconId); } BattleDebug.Log("--- バトルGC : 開始"); Resources.UnloadUnusedAssets(); GC.Collect(); BattleDebug.Log("--- バトルGC : 完了"); this.SetActiveHierarcyRendering(true); this.SetLoadingImage(false); base.stateManager.uiControl.SetTouchEnable(true); base.stateManager.SetBattleScreen(BattleScreen.BattleStartAction); base.stateManager.battleUiComponents.InitSafeArea(); yield break; }
private IEnumerator LoadCommonEffect() { int maxEnemiesLength = 0; int maxBossLength = 0; for (int i = 0; i < base.hierarchyData.batteWaves.Length; i++) { maxEnemiesLength = Mathf.Max(maxEnemiesLength, base.hierarchyData.batteWaves[i].useEnemiesId.Length); int num = 0; foreach (bool flag in base.hierarchyData.batteWaves[i].enemiesBossFlag) { if (flag) { num++; } } maxBossLength = Mathf.Max(maxBossLength, num); } int playerLength = base.hierarchyData.usePlayerCharacters.Length; int maxDigimonLength = playerLength + maxEnemiesLength; List <IEnumerator> list = new List <IEnumerator>(); base.battleStateData.isRoundStartApRevival = new bool[maxDigimonLength]; base.stateManager.initialize.SetHitEffectPool("EFF_COM_APUP", AffectEffect.ApUp.ToString()); base.battleStateData.stageGimmickUpEffect = new AlwaysEffectParams[maxDigimonLength]; base.battleStateData.stageGimmickDownEffect = new AlwaysEffectParams[maxDigimonLength]; if (!base.stateManager.onEnableTutorial) { for (int k = 0; k < maxDigimonLength; k++) { string effectId = "EFF_COM_GimmickUP"; Action <AlwaysEffectParams, int> result = delegate(AlwaysEffectParams res, int index) { base.battleStateData.stageGimmickUpEffect[index] = res; }; IEnumerator item = base.stateManager.initialize.LoadAlwaysEffect(effectId, k, result); list.Add(item); string effectId2 = "EFF_COM_GimmickDOWN"; Action <AlwaysEffectParams, int> result2 = delegate(AlwaysEffectParams res, int index) { base.battleStateData.stageGimmickDownEffect[index] = res; }; IEnumerator item2 = base.stateManager.initialize.LoadAlwaysEffect(effectId2, k, result2); list.Add(item2); } } BattleDebug.Log("共通エフェクトのロード: 開始"); IEnumerator LoadDataStore = base.stateManager.initialize.LoadCoroutine(list.ToArray()); while (LoadDataStore.MoveNext()) { yield return(null); } BattleDebug.Log("共通エフェクトのロード: 完了"); yield break; }
public IEnumerator LoadAlwaysEffect(string effectId, int index, Action <AlwaysEffectParams, int> result) { BattleDebug.Log(string.Concat(new object[] { "--- 常設エフェクト単体ロード effectId[", effectId, "] index[", index, "] : 開始" })); AlwaysEffectParams alwaysParam = null; GameObject effect = null; if (!BattleObjectPooler.TryGetAlwaysEffectParams(effectId, index, out alwaysParam)) { GameObject prefab = base.stateManager.serverControl.GetAlwaysEffectPrefab(effectId); effect = base.Instantiate <GameObject>(prefab); yield return(null); effect.name = effectId; alwaysParam = effect.GetComponent <AlwaysEffectParams>(); BattleObjectPooler.AddAlwaysEffectParams(effectId, alwaysParam); } else { effect = alwaysParam.gameObject; } effect.transform.SetParent(base.battleStateData.alwaysEffectRoot); effect.transform.position = Vector3.zero; effect.transform.rotation = Quaternion.identity; IEnumerator initialize = alwaysParam.Initialize(base.hierarchyData.cameraObject.camera3D); while (initialize.MoveNext()) { yield return(null); } base.stateManager.threeDAction.StopAlwaysEffectAction(new AlwaysEffectParams[] { alwaysParam }); base.stateManager.soundPlayer.AddEffectSe(alwaysParam.inSeId); base.stateManager.soundPlayer.AddEffectSe(alwaysParam.alwaysSeId); base.stateManager.soundPlayer.AddEffectSe(alwaysParam.outSeId); result(alwaysParam, index); BattleDebug.Log(string.Concat(new object[] { "--- 常設エフェクト単体ロード effectId[", effectId, "] index[", index, "] : 完了" })); yield break; }
private IEnumerator LoadBeforeInitializeUI() { BattleDebug.Log("ロード開始前UI初期化: 開始"); IEnumerator initializeUI = base.stateManager.uiControl.BeforeInitializeUI(); while (initializeUI.MoveNext()) { yield return(null); } BattleDebug.Log("ロード開始前UI初期化: 完了"); yield break; }
public IEnumerator LoadBattleInternalResources(string id, Action <GameObject> result) { BattleDebug.Log("--- バトル内部リソース単体ロード id[" + id + "] : 開始"); GameObject BattleInternalResources = base.Instantiate <GameObject>(ResourcesPath.GetBattleInternalResourcesPrefab(id)); yield return(null); BattleInternalResources.name = id; BattleInternalResources.transform.SetParent(base.battleStateData.BattleInternalResourcesRoot); BattleInternalResources.transform.Clear(); result(BattleInternalResources); BattleDebug.Log("--- バトル内部リソース単体ロード id[" + id + "] : 完了"); yield break; }
public IEnumerator LoadSpawnPoint(string spawnPointId) { BattleDebug.Log("--- 出現ポイント単体ロード spawnPointId[" + spawnPointId + "] : 開始"); GameObject spawnPoint = base.Instantiate <GameObject>(base.stateManager.serverControl.GetSpawnPointPrefab(spawnPointId)); yield return(null); spawnPoint.name = spawnPointId; spawnPoint.transform.SetParent(base.battleStateData.spawnPointRoot); spawnPoint.transform.Clear(); base.battleStateData.preloadSpawnPoints.Add(spawnPointId, spawnPoint.GetComponent <SpawnPointParams>()); BattleDebug.Log("--- 出現ポイント単体ロード spawnPointId[" + spawnPointId + "] : 完了"); yield break; }
protected override IEnumerator LoadAfterInitializeUI() { BattleDebug.Log("ロード完了後UI初期化: 開始"); IEnumerator afterInitializeUI = base.stateManager.uiControlPvP.AfterInitializeUI(); while (afterInitializeUI.MoveNext()) { yield return(null); } BattleDebug.Log("ロード完了後UI初期化: 完了"); base.hierarchyData.on2xSpeedPlay = true; base.stateManager.pvpFunction.InitializeTCPClient(false); yield break; }
public IEnumerator LoadCharacterParam(string characterId, int index, Action <CharacterParams, int, string> result) { BattleDebug.Log(string.Concat(new object[] { "--- モンスター単体ロード characterId[", characterId, "] index[", index, "] : 開始" })); GameObject prefab = base.stateManager.serverControl.GetCharacterPrefab(characterId); GameObject character = base.Instantiate <GameObject>(prefab); yield return(null); character.name = characterId; character.transform.SetParent(base.battleStateData.characterRoot); character.transform.position = Vector3.zero; character.transform.rotation = Quaternion.identity; CharacterParams characterParams = character.GetComponent <CharacterParams>(); CapsuleCollider col = characterParams.GetComponent <CapsuleCollider>(); col.radius = 1.03f; if (base.battleStateData.useCharacterShadow) { characterParams.SetShadowObject(); yield return(null); } characterParams.PlayAnimation(CharacterAnimationType.idle, SkillType.Attack, 0, null, null); yield return(null); characterParams.Initialize(base.hierarchyData.cameraObject.camera3D); GameObject hasColliderObject = characterParams.collider.gameObject; BattleStateData battleStateData = base.battleStateData; battleStateData.characterColliderLayerMask |= 1 << hasColliderObject.layer; character.gameObject.SetActive(false); result(characterParams, index, characterId); BattleDebug.Log(string.Concat(new object[] { "--- モンスター単体ロード characterId[", characterId, "] index[", index, "] : 完了" })); yield break; }
public IEnumerator LoadHitEffect(string effectId, int index, Action <HitEffectParams, int> result) { BattleDebug.Log(string.Concat(new object[] { "-- ヒットエフェクト単体ロード effectId[", effectId, "] index[", index, "] : 開始" })); HitEffectParams hitEffectParams = null; GameObject hitEffect = null; if (!BattleObjectPooler.TryGetHitEffectParams(effectId, index, out hitEffectParams)) { GameObject prefab = base.stateManager.serverControl.GetHitEffectPrefab(effectId); hitEffect = base.Instantiate <GameObject>(prefab); yield return(null); hitEffect.name = effectId; hitEffectParams = hitEffect.GetComponent <HitEffectParams>(); BattleObjectPooler.AddHitEffectParams(effectId, hitEffectParams); } else { hitEffect = hitEffectParams.gameObject; } hitEffect.transform.SetParent(base.battleStateData.hitEffectRoot); hitEffect.SetActive(false); IEnumerator initialize = hitEffectParams.Initialize(base.hierarchyData.cameraObject.camera3D); while (initialize.MoveNext()) { yield return(null); } base.stateManager.soundPlayer.AddEffectSe(hitEffectParams.seId); result(hitEffectParams, index); BattleDebug.Log(string.Concat(new object[] { "-- ヒットエフェクト単体ロード effectId[", effectId, "] index[", index, "] : 完了" })); yield break; }
public IEnumerator LoadStage() { BattleDebug.Log("--- ステージ単体ロード: 開始"); GameObject stage = base.Instantiate <GameObject>(base.stateManager.serverControl.GetStagePrefab(base.hierarchyData.useStageId)); yield return(null); stage.name = base.hierarchyData.useStageId; stage.transform.SetParent(base.battleStateData.stageRoot); base.hierarchyData.stageParams = stage.GetComponent <StageParams>(); base.hierarchyData.stageParams.SetHierarchyEnviroments(base.hierarchyData.cameraObject); base.battleStateData.stageObject = stage; stage.transform.localPosition = Vector3.zero; stage.transform.localRotation = Quaternion.identity; base.battleStateData.useCharacterShadow = base.hierarchyData.stageParams.UseCharacterShadow; BattleDebug.Log("--- ステージ単体ロード: 完了"); yield break; }
protected virtual IEnumerator LoadAfterInitializeUI() { base.stateManager.uiControl.ApplyChipNumber(base.battleStateData.currentGettedChip); base.stateManager.uiControl.ApplyExpNumber(base.battleStateData.currentGettedExp); BattleDebug.Log("ロード完了後UI初期化: 開始"); IEnumerator afterInitializeUI = base.stateManager.uiControl.AfterInitializeUI(); while (afterInitializeUI.MoveNext()) { yield return(null); } BattleDebug.Log("ロード完了後UI初期化: 完了"); if (PlayerPrefs.GetInt("Battle2xSpeedPlay", 0) == 1) { base.hierarchyData.on2xSpeedPlay = true; } int autoFlag = PlayerPrefs.GetInt("BattleAutoPlay", 0); if (0 < autoFlag) { if (autoFlag == 1) { base.hierarchyData.onAutoPlay = 1; } else if (autoFlag == 2) { base.hierarchyData.onAutoPlay = 2; } } if (base.battleMode == BattleMode.Tutorial) { base.hierarchyData.on2xSpeedPlay = false; base.hierarchyData.onAutoPlay = 0; } base.stateManager.uiControl.ApplyHideHitIcon(); base.stateManager.uiControl.ApplyDroppedItemHide(); base.stateManager.uiControl.ApplyAutoPlay(base.hierarchyData.onAutoPlay); base.stateManager.uiControl.Apply2xPlay(base.hierarchyData.on2xSpeedPlay); base.stateManager.uiControl.ApplyAreaName(base.hierarchyData.areaName); bool sleep = base.hierarchyData.onAutoPlay > 0; base.stateManager.sleep.SetSleepOff(sleep); yield break; }
protected override IEnumerator LoadAfterInitializeUI() { BattleDebug.Log("ロード完了後UI初期化: 開始"); base.stateManager.uiControl.ApplyChipNumber(base.battleStateData.currentGettedChip); base.stateManager.uiControl.ApplyExpNumber(base.battleStateData.currentGettedExp); IEnumerator afterInitializeUI = base.stateManager.uiControlMulti.AfterInitializeUI(); while (afterInitializeUI.MoveNext()) { yield return(null); } BattleDebug.Log("ロード完了後UI初期化: 完了"); base.hierarchyData.on2xSpeedPlay = true; base.stateManager.uiControl.ApplyHideHitIcon(); base.stateManager.uiControl.ApplyDroppedItemHide(); base.stateManager.uiControl.ApplyAutoPlay(base.hierarchyData.onAutoPlay); base.stateManager.uiControl.Apply2xPlay(base.hierarchyData.on2xSpeedPlay); base.stateManager.uiControl.ApplyAreaName(base.hierarchyData.areaName); base.stateManager.multiFunction.InitializeTCPClient(false); yield break; }
public IEnumerator LoadInvocationEffect(string skillInvocation, Action <InvocationEffectParams, string> result) { BattleDebug.Log("--- 発動スキルエフェクト単体ロード [" + skillInvocation + "] : 開始"); GameObject skillObject = base.Instantiate <GameObject>(base.stateManager.serverControl.GetInvocationEffectPrefab(skillInvocation)); yield return(null); skillObject.name = skillInvocation; skillObject.transform.SetParent(base.battleStateData.skillEffectRoot); InvocationEffectParams invocationEffectParams = skillObject.GetComponent <InvocationEffectParams>(); IEnumerator skillInit = invocationEffectParams.SkillInitialize(base.hierarchyData.cameraObject.camera3D, base.battleStateData.stageObject, base.hierarchyData.cameraObject.sunLightColorChanger); while (skillInit.MoveNext()) { yield return(null); } skillObject.SetActive(false); result(invocationEffectParams, skillInvocation); BattleDebug.Log("--- 発動スキルエフェクト単体ロード [" + skillInvocation + "] : 完了"); yield break; }
protected virtual IEnumerator LoadPlayer() { int playerLength = base.hierarchyData.usePlayerCharacters.Length; List <IEnumerator> list = new List <IEnumerator>(); base.battleStateData.playerCharacters = new CharacterStateControl[playerLength]; base.battleStateData.revivalReservedEffect = new AlwaysEffectParams[playerLength]; base.battleStateData.isRevivalReservedCharacter = new bool[playerLength]; base.battleStateData.isRoundStartHpRevival = new bool[playerLength]; LeaderSkillStatus leaderCharacterSkillStatus = null; PlayerStatus getStatusLeader = base.hierarchyData.usePlayerCharacters[base.hierarchyData.leaderCharacter]; if (getStatusLeader.isHavingLeaderSkill) { leaderCharacterSkillStatus = base.hierarchyData.GetLeaderSkillStatus(getStatusLeader.leaderSkillId); } CharacterDatas leaderCharacterData = base.hierarchyData.GetCharacterDatas(getStatusLeader.groupId); for (int i = 0; i < playerLength; i++) { CharacterStatus characterStatus = base.hierarchyData.usePlayerCharacters[i]; Tolerance tolerance = characterStatus.tolerance; CharacterDatas characterDatas = base.hierarchyData.GetCharacterDatas(characterStatus.groupId); SkillStatus[] skillStatuses = characterStatus.skillIds.Select((string item) => base.hierarchyData.GetSkillStatus(item)).ToArray <SkillStatus>(); LeaderSkillStatus leaderSkillStatus = base.hierarchyData.GetLeaderSkillStatus(characterStatus.leaderSkillId); bool isEnemy = false; base.battleStateData.playerCharacters[i] = base.stateManager.initialize.LoadCharacterStateControl(characterStatus, tolerance, characterDatas, skillStatuses, leaderCharacterSkillStatus, leaderCharacterData, leaderSkillStatus, isEnemy); base.battleStateData.playerCharacters[i].myIndex = i; base.battleStateData.isRevivalReservedCharacter[i] = false; Action <CharacterParams, int, string> result = delegate(CharacterParams c, int index, string id) { base.battleStateData.playerCharacters[index].CharacterParams = c; }; IEnumerator item4 = base.stateManager.initialize.LoadCharacterParam(characterStatus.prefabId, i, result); list.Add(item4); string effectId = "revivalReservationEffect"; Action <AlwaysEffectParams, int> result2 = delegate(AlwaysEffectParams a, int id) { base.battleStateData.revivalReservedEffect[id] = a; }; IEnumerator item2 = base.stateManager.initialize.LoadAlwaysEffect(effectId, i, result2); list.Add(item2); base.stateManager.initialize.SetHitEffectPool("EFF_COM_DEATH"); base.stateManager.initialize.SetHitEffectPool("EFF_COM_L_HEAL"); } base.battleStateData.leaderCharacter = base.battleStateData.playerCharacters[base.hierarchyData.leaderCharacter]; base.battleStateData.leaderCharacter.isLeader = true; base.battleStateData.insertCharacterEffect = new AlwaysEffectParams[playerLength]; for (int j = 0; j < playerLength; j++) { string insertPlayerPath = this.insertPlayerPath; Action <AlwaysEffectParams, int> result3 = delegate(AlwaysEffectParams res, int index) { base.battleStateData.insertCharacterEffect[index] = res; }; IEnumerator item3 = base.stateManager.initialize.LoadAlwaysEffect(insertPlayerPath, j, result3); list.Add(item3); } BattleDebug.Log("プレイヤーキャラクタ / 関連エフェクトのロード: 開始"); IEnumerator LoadDataStore = base.stateManager.initialize.LoadCoroutine(list.ToArray()); while (LoadDataStore.MoveNext()) { yield return(null); } base.stateManager.system.IfFullMemoryCallGC(); BattleDebug.Log("プレイヤーキャラクタ / 関連エフェクトのロード: 完了"); yield break; }
protected virtual IEnumerator LoadEnemy() { int maxEnemiesLength = 0; int maxBossLength = 0; for (int i = 0; i < base.hierarchyData.batteWaves.Length; i++) { maxEnemiesLength = Mathf.Max(maxEnemiesLength, base.hierarchyData.batteWaves[i].useEnemiesId.Length); int num = 0; foreach (bool flag in base.hierarchyData.batteWaves[i].enemiesBossFlag) { if (flag) { num++; } } maxBossLength = Mathf.Max(maxBossLength, num); } List <IEnumerator> list = new List <IEnumerator>(); LeaderSkillStatus leaderCharacterLeaderSkill = null; CharacterStatus getStatusEnemyLeader = base.hierarchyData.batteWaves[0].enemyStatuses[base.hierarchyData.leaderCharacter]; if (getStatusEnemyLeader.isHavingLeaderSkill) { leaderCharacterLeaderSkill = base.hierarchyData.GetLeaderSkillStatus(getStatusEnemyLeader.leaderSkillId); } CharacterDatas enemyLeaderCharacterData = base.hierarchyData.GetCharacterDatas(getStatusEnemyLeader.groupId); Dictionary <string, int> characterParamsIdListBattleWave = new Dictionary <string, int>(); base.battleStateData.preloadEnemies = new CharacterStateControl[base.hierarchyData.batteWaves.Length][]; for (int k = 0; k < base.battleStateData.preloadEnemies.Length; k++) { base.battleStateData.preloadEnemies[k] = new CharacterStateControl[base.hierarchyData.batteWaves[k].useEnemiesId.Length]; Dictionary <string, int> dictionary = new Dictionary <string, int>(); for (int l = 0; l < base.battleStateData.preloadEnemies[k].Length; l++) { CharacterStatus characterStatus = base.hierarchyData.batteWaves[k].enemyStatuses[l]; Tolerance tolerance = characterStatus.tolerance; CharacterDatas characterDatas = base.hierarchyData.GetCharacterDatas(characterStatus.groupId); SkillStatus[] skillStatuses = characterStatus.skillIds.Select((string item) => base.hierarchyData.GetSkillStatus(item)).ToArray <SkillStatus>(); LeaderSkillStatus leaderSkillStatus = base.hierarchyData.GetLeaderSkillStatus(characterStatus.leaderSkillId); bool isEnemy = true; base.battleStateData.preloadEnemies[k][l] = base.stateManager.initialize.LoadCharacterStateControl(characterStatus, tolerance, characterDatas, skillStatuses, leaderCharacterLeaderSkill, enemyLeaderCharacterData, leaderSkillStatus, isEnemy); base.battleStateData.preloadEnemies[k][l].myIndex = l; if (l == base.hierarchyData.leaderCharacter) { base.battleStateData.preloadEnemies[k][l].isLeader = true; } string prefabId = characterStatus.prefabId; if (!dictionary.ContainsKey(prefabId)) { dictionary.Add(prefabId, 1); } else { Dictionary <string, int> dictionary2; string key; dictionary[prefabId] = ((dictionary2 = dictionary)[key = prefabId] = dictionary2[key] + 1); } } foreach (KeyValuePair <string, int> keyValuePair in dictionary) { if (characterParamsIdListBattleWave.ContainsKey(keyValuePair.Key)) { if (characterParamsIdListBattleWave[keyValuePair.Key] < keyValuePair.Value) { characterParamsIdListBattleWave[keyValuePair.Key] = keyValuePair.Value; } } else { characterParamsIdListBattleWave.Add(keyValuePair.Key, keyValuePair.Value); } } } foreach (KeyValuePair <string, int> keyValuePair2 in characterParamsIdListBattleWave) { for (int m = 0; m < keyValuePair2.Value; m++) { IEnumerator item6 = base.stateManager.initialize.LoadCharacterParam(keyValuePair2.Key, m, delegate(CharacterParams c, int index, string id) { base.battleStateData.preloadEnemiesParams.Add(id, index.ToString(), c); }); list.Add(item6); } } base.battleStateData.droppingItemNormalEffect = new AlwaysEffectParams[base.battleStateData.maxDropNum]; base.battleStateData.droppingItemRareEffect = new AlwaysEffectParams[base.battleStateData.maxDropNum]; for (int n = 0; n < maxEnemiesLength; n++) { base.stateManager.initialize.SetHitEffectPool("EFF_COM_DEATH"); base.stateManager.initialize.SetHitEffectPool("EFF_COM_BOSSDEATH"); } for (int num2 = 0; num2 < base.battleStateData.maxDropNum; num2++) { string effectId = "droppingItemEffectNormal"; Action <AlwaysEffectParams, int> result = delegate(AlwaysEffectParams a, int index) { base.battleStateData.droppingItemNormalEffect[index] = a; }; IEnumerator item2 = base.stateManager.initialize.LoadAlwaysEffect(effectId, num2, result); list.Add(item2); string effectId2 = "droppingItemEffectRare"; Action <AlwaysEffectParams, int> result2 = delegate(AlwaysEffectParams a, int index) { base.battleStateData.droppingItemRareEffect[index] = a; }; IEnumerator item3 = base.stateManager.initialize.LoadAlwaysEffect(effectId2, num2, result2); list.Add(item3); } base.battleStateData.leaderEnemyCharacter = base.battleStateData.enemies[base.hierarchyData.leaderCharacter]; base.battleStateData.insertEnemyEffect = new AlwaysEffectParams[maxEnemiesLength]; for (int num3 = 0; num3 < maxEnemiesLength; num3++) { string insertEnemyPath = this.insertEnemyPath; Action <AlwaysEffectParams, int> result3 = delegate(AlwaysEffectParams res, int index) { base.battleStateData.insertEnemyEffect[index] = res; }; IEnumerator item4 = base.stateManager.initialize.LoadAlwaysEffect(insertEnemyPath, num3, result3); list.Add(item4); } base.battleStateData.insertBossCharacterEffect = new AlwaysEffectParams[maxBossLength]; for (int num4 = 0; num4 < maxBossLength; num4++) { string effectId3 = "insertBossCharacterEffect"; Action <AlwaysEffectParams, int> result4 = delegate(AlwaysEffectParams res, int index) { base.battleStateData.insertBossCharacterEffect[index] = res; }; IEnumerator item5 = base.stateManager.initialize.LoadAlwaysEffect(effectId3, num4, result4); list.Add(item5); } BattleDebug.Log("敵キャラクタ / 関連エフェクトのロード: 開始"); IEnumerator LoadDataStore = base.stateManager.initialize.LoadCoroutine(list.ToArray()); while (LoadDataStore.MoveNext()) { yield return(null); } base.stateManager.system.IfFullMemoryCallGC(); BattleDebug.Log("敵キャラクタ / 関連エフェクトのロード: 完了"); yield break; }
private IEnumerator LoadResources() { List <IEnumerator> LoadObjectStore = new List <IEnumerator>(); LoadObjectStore.Add(base.stateManager.initialize.LoadBattleInternalResources("WinCameraMotion", delegate(GameObject g) { base.battleStateData.winCameraMotionInternalResources = g.GetComponent <BattleCameraSwitcher>(); base.battleStateData.winCameraMotionInternalResources.Initialize(base.hierarchyData.cameraObject.camera3D); })); LoadObjectStore.Add(base.stateManager.initialize.LoadBattleInternalResources("CommandSelectCameraMotion", delegate(GameObject g) { base.battleStateData.normalCommandSelectTweenTargetCamera = g.GetComponent <TweenCameraTargetFunction>(); base.battleStateData.normalCommandSelectTweenTargetCamera.isFoolowUp = false; base.battleStateData.normalCommandSelectTweenTargetCamera.Initialize(base.hierarchyData.cameraObject.camera3D); })); bool isBigBoss = false; foreach (BattleWave battleWave in base.hierarchyData.batteWaves) { if (battleWave.cameraType == 1) { isBigBoss = true; break; } } if (isBigBoss) { LoadObjectStore.Add(base.stateManager.initialize.LoadBattleInternalResources("BigBossCommandSelectCameraMotion", delegate(GameObject g) { base.battleStateData.bigBossCommandSelectTweenTargetCamera = g.GetComponent <TweenCameraTargetFunction>(); base.battleStateData.bigBossCommandSelectTweenTargetCamera.isFoolowUp = false; base.battleStateData.bigBossCommandSelectTweenTargetCamera.Initialize(base.hierarchyData.cameraObject.camera3D); })); } if (base.hierarchyData.onInstanceStage) { LoadObjectStore.Add(base.stateManager.initialize.LoadStage()); } LoadObjectStore.Add(base.stateManager.initialize.LoadSpawnPoint(this.enemySpawnPoint1)); LoadObjectStore.Add(base.stateManager.initialize.LoadSpawnPoint(this.enemySpawnPoint2)); LoadObjectStore.Add(base.stateManager.initialize.LoadSpawnPoint(this.enemySpawnPoint3)); if (isBigBoss) { LoadObjectStore.Add(base.stateManager.initialize.LoadSpawnPoint("0001_enemiesOne_small_bigboss")); } BattleDebug.Log("ステージ / 内部リソースのロード: 開始"); IEnumerator LoadDataStore = base.stateManager.initialize.LoadCoroutine(LoadObjectStore.ToArray()); while (LoadDataStore.MoveNext()) { yield return(null); } if (isBigBoss) { base.battleStateData.commandSelectTweenTargetCamera = base.battleStateData.bigBossCommandSelectTweenTargetCamera; } else { base.battleStateData.commandSelectTweenTargetCamera = base.battleStateData.normalCommandSelectTweenTargetCamera; } BattleDebug.Log("ステージ / 内部リソースのロード: 完了"); yield break; }