public void CheckSpawners() { if (player.getHasStarted() && !UI.isPaused) { float timeSinceStart = Time.timeSinceLevelLoad - timeBeforeStart; SpaceObjectCheckpoint lastCheckpoint = null; float spawnTime = 0; for (int i = 0; i < spawnCheckpoints.Count; i++) { spawnTime += spawnCheckpoints[i].spawnTime; lastCheckpoint = spawnCheckpoints[i]; if (timeSinceStart > spawnTime && !hasSpawned[i]) { SpawnCheckpoint(spawnCheckpoints[i]); UI.ShowTutorialText(spawnCheckpoints[i].tutorialMessage); hasSpawned[i] = true; } } if (timeSinceStart > spawnTime + recurringCheckpointTime) { SpawnCheckpoint(lastCheckpoint); recurringCheckpointTime += 60; } } else { timeBeforeStart += 1f; } }
private void SpawnCheckpoint(SpaceObjectCheckpoint checkpoint) { largeAsteroids.AddActive(checkpoint.largeAsteroids); mediumAsteroids.AddActive(checkpoint.mediumAsteroids); smallAsteroids.AddActive(checkpoint.smallAsteroids); spaceships.AddActive(checkpoint.spaceships); healthPickups.AddActive(checkpoint.healthPickups); movementPickups.AddActive(checkpoint.movementPickups); pointsPickupsLevel1.AddActive(checkpoint.pointsPickupsLevel1); pointsPickupsLevel2.AddActive(checkpoint.pointsPickupsLevel2); pointsPickupsLevel3.AddActive(checkpoint.pointsPickupsLevel3); if (!player.getHasHealthUpgrade()) { healthUpgrades.AddActive(checkpoint.healthUpgrades); } if (!player.getHasMovementUpgrade()) { movementUpgrades.AddActive(checkpoint.movementUpgrades); } lifePickups.AddActive(checkpoint.lifePickups); }