Exemplo n.º 1
0
    /// <summary> Shoots an asteroid to the player </summary>
    void ShootAsteroid()
    {
        GameObject asteroid = asteroidPool.GetAsteroidFromPool((AsteroidPoolTest.AsteroidSize)Random.Range(0, 2));
        //Asteroid spawn pos
        Vector2 spawnPosition = playerRB2D.position + GenerateDirection() * spawnRadius;
        //Point inside spawn radius
        Vector2 fieldPoint = playerRB2D.position + Random.insideUnitCircle * spawnRadius;
        //Direciton to shoot at
        Vector2 direction = (fieldPoint - spawnPosition).normalized;

        asteroid.GetComponent <AsteroidMovement>().SpawnAsteroid(spawnPosition, direction, Random.Range(20, 40), Random.Range(20, 40));
    }
Exemplo n.º 2
0
    /// <summary> Spawns an asteroid </summary>
    /// <param name="size">Asteroid size</param>
    /// <param name="position">Asteroid position</param>
    /// <param name="direction">Asteroid direction</param>
    /// <param name="speed">Asteroid speed</param>
    /// <param name="rotationSpeed">Asteroid rotation speed</param>
    private void SpawnAsteroid(AsteroidPoolTest.AsteroidSize size, Vector2 position, Vector2 direction, float speed, float rotationSpeed)
    {
        GameObject asteroid = asteroidPool.GetAsteroidFromPool(size);

        asteroid.GetComponent <AsteroidMovement>().SpawnAsteroid(position, direction, speed, rotationSpeed);
    }