public void OnUpdate()
        {
            if (--turn > 0)
            {
                return;
            }

            if (spawner.OutOfRange(asteroid.position))
            {
                asteroid.position = spawner.Position();
                AsteroidUtils.ApplyImpulse(asteroid.gameObject.GetComponent <Rigidbody2D>());
            }

            turn = FrameInterval;
        }
Beispiel #2
0
    public void Subdivide()
    {
        Vector3 pos = gameObject.transform.position;

        gameObject.transform.position = spawner.Position();
        Rigidbody2D rb = gameObject.GetComponent <Rigidbody2D>();

        AsteroidUtils.ApplyImpulse(rb);

        if (health <= 0)
        {
            return;
        }

        CreateAsteroid(spawner, health - 1, pos);
        CreateAsteroid(spawner, health - 1, pos);
    }
Beispiel #3
0
 public static void CreateAsteroid(IPositionSpawner spawner)
 {
     CreateAsteroid(spawner, InitialHealth, spawner.Position());
 }