private void Spawn() { AsteroidHelper.Stages stage = (AsteroidHelper.Stages)Random.Range(0, Enum.GetNames(typeof(AsteroidHelper.Stages)).Length); int type = Random.Range(0, AsteroidHelper.AsteroidTypesCount); GameObject asteroid = Instantiate(ResourcesLoader.GetAsteroid(stage, type), GetRandomSpawnPosition(), Quaternion.identity); if (GameState.IsActive()) { Invoke(nameof(Spawn), _spawnInterval); } }
public static GameObject GetAsteroid(AsteroidHelper.Stages stage, int type) { var obj = _asteroids[(int)stage][type]; if (obj == null) { string stageName = stage.ToString().ToLower(); obj = Resources.Load <GameObject>("Asteroids/asteroid_" + stageName + "_" + (type + 1)); _asteroids[(int)stage][type] = obj; } return(obj); }