Esempio n. 1
0
 public void RandomSpawnAsteroid(int qtd, Vector2 centerPosition, Asteroid.Size size)
 {
     for (int i = 0; i < qtd; i++)
     {
         SpawnAsteroid(centerPosition + Random.insideUnitCircle.normalized, size);
     }
 }
Esempio n. 2
0
 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);
     }
 }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
    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);
    }
Esempio n. 5
0
 void Spawn(Asteroid.Size size)
 {
     spawner.SpawnAsteroid(
         CameraBounds.getRandomPointInsideBounds(0),
         size);
 }