public void ApplySpawnPoint(SpawnPointParams spawnPoint) { if (spawnPoint == null) { return; } this.playerCharactersSpawnPoint = spawnPoint.playersSpawnPoint; this.enemiesSpawnPoint = spawnPoint.enemiesSpawnPoint; this.stageSpawnPoint = spawnPoint.stageSpawnPoint; this.enemiesTargetSelectOrder = spawnPoint.enemiesTargetSelectOrder; this.normalCommandSelectTweenTargetCamera.SetTargets(spawnPoint.GetHalfSpanwPointPosition()); if (this.bigBossCommandSelectTweenTargetCamera != null) { Vector3[] halfSpanwPointPosition = spawnPoint.GetHalfSpanwPointPosition(); Vector3[] array = new Vector3[halfSpanwPointPosition.Length]; for (int i = 0; i < halfSpanwPointPosition.Length; i++) { float num = 5f; array[i] = new Vector3(halfSpanwPointPosition[i].x, halfSpanwPointPosition[i].y + num, halfSpanwPointPosition[i].z); } this.bigBossCommandSelectTweenTargetCamera.SetTargets(array); } }
public void CharacterWaveReset(int waveNumber, bool isRecover = false) { this.BattleWaveChangeResourcesCleaning(); base.battleStateData.enemies = base.battleStateData.preloadEnemies[waveNumber]; base.battleStateData.leaderEnemyCharacter = base.battleStateData.enemies[base.hierarchyData.leaderCharacter]; int cameraType = base.hierarchyData.batteWaves[waveNumber].cameraType; string spawnPointId = ResourcesPath.ReservedID.SpawnPoints.GetSpawnPointId(base.battleStateData.enemies.Length, base.battleMode, cameraType); SpawnPointParams @object = base.battleStateData.preloadSpawnPoints.GetObject(spawnPointId); base.battleStateData.ApplySpawnPoint(@object); foreach (CharacterParams characterParams in base.battleStateData.preloadEnemiesParams.GetAllObject()) { characterParams.gameObject.SetActive(false); } Dictionary <string, int> dictionary = new Dictionary <string, int>(); for (int j = 0; j < base.battleStateData.enemies.Length; j++) { string prefabId = base.battleStateData.enemies[j].characterStatus.prefabId; int num = 0; if (dictionary.ContainsKey(prefabId)) { Dictionary <string, int> dictionary2; string key; (dictionary2 = dictionary)[key = prefabId] = dictionary2[key] + 1; num = dictionary[prefabId]; } else { dictionary.Add(prefabId, 0); } this.WaveResetEnemyResetupFunction(prefabId, num, j, isRecover); int index = base.battleStateData.playerCharacters.Length + j; base.stateManager.uiControl.ApplyCharacterHudBoss(index, base.hierarchyData.batteWaves[waveNumber].enemiesBossFlag[j]); base.stateManager.uiControl.ApplyCharacterHudContent(index, base.battleStateData.enemies[j]); base.stateManager.uiControl.ApplyCharacterHudReset(index); } base.stateManager.uiControl.ApplyBigBossCharacterHudBoss(false); base.stateManager.uiControl.ApplyBigBossCharacterHudContent(base.battleStateData.enemies[0]); base.stateManager.uiControl.ApplyBigBossCharacterHudReset(); for (int k = 0; k < base.battleStateData.playerCharacters.Length; k++) { this.WaveResetPlayerResetupFunction(k); CharacterStateControl characterStateControl = base.battleStateData.playerCharacters[k]; if (!characterStateControl.isDied) { if (!isRecover) { if (characterStateControl.WaveCountInitialize(base.hierarchyData.batteWaves[waveNumber].hpRevivalPercentage)) { base.battleStateData.isRoundStartHpRevival[k] = true; } } if (waveNumber == 0) { base.stateManager.uiControl.ApplyCharacterHudBoss(k, false); base.stateManager.uiControl.ApplyCharacterHudContent(k, characterStateControl); base.stateManager.uiControl.ApplyCharacterHudReset(k); } } } }