public void RandomSpawnAsteroid(int qtd, Vector2 centerPosition, Asteroid.Size size) { for (int i = 0; i < qtd; i++) { SpawnAsteroid(centerPosition + Random.insideUnitCircle.normalized, size); } }
public void OnAsteroidDied(Asteroid.Size size, Vector2 position) { if (size == Asteroid.Size.LARGE) { RandomSpawnAsteroid(2, position, Asteroid.Size.MEDIUM); } else if (size == Asteroid.Size.MEDIUM) { RandomSpawnAsteroid(4, position, Asteroid.Size.SMALL); } }
public void SpawnAsteroid(Vector2 position, Asteroid.Size size) { Asteroid asteroid = asteroidFactory.CreateAsteroid(size, OnAsteroidDied); asteroid.transform.position = position; asteroid.MoveInDirection(Random.insideUnitCircle, Random.Range(minimumAsteroidSpawnVelocity, maxAsteroidSpawnVelocity)); float randomRotation = Random.Range(-1, 1); randomRotation += Mathf.Sign(randomRotation); asteroid.RotateInDirection(randomRotation); }
public Asteroid CreateAsteroid(Asteroid.Size size, UnityAction <Asteroid.Size, Vector2> onAsteroidDied) { Asteroid asteroid = asteroidPool.getObject().GetComponent <Asteroid>(); switch (size) { case Asteroid.Size.SMALL: asteroid.Setup(small, size, onAsteroidDied); break; case Asteroid.Size.MEDIUM: asteroid.Setup(medium, size, onAsteroidDied); break; case Asteroid.Size.LARGE: asteroid.Setup(large, size, onAsteroidDied); break; } return(asteroid); }
void Spawn(Asteroid.Size size) { spawner.SpawnAsteroid( CameraBounds.getRandomPointInsideBounds(0), size); }