Esempio n. 1
0
 public AsteroidSpec(float size, float speed, int numberOfChildren, AsteroidSpec childSpec)
 {
     this.size             = size;
     this.speed            = speed;
     this.numberOfChildren = numberOfChildren;
     this.childSpec        = childSpec;
     this.hp = (int)(size * 2);
 }
Esempio n. 2
0
    public void SpawnAsteroid(Vector2 position, AsteroidSpec spec)
    {
        GameObject e = Instantiate(asteroid, position, asteroid.transform.rotation);
        Asteroid   n = e.GetComponent <Asteroid>();

        n.Initialize(spec);
        e.transform.parent = transform;
    }
Esempio n. 3
0
    public void Initialize(AsteroidSpec spec)
    {
        this.spec = spec;

        this.currentHP = spec.hp;

        // calculate size
        transform.localScale = transform.localScale * spec.size;

        // calculate random velocity direction
        float   angle = Random.value * Mathf.PI * 2;
        Vector2 dir   = new Vector2(Mathf.Cos(angle), Mathf.Sin(angle));

        GetComponent <Rigidbody2D>().velocity = dir * spec.speed;
    }
Esempio n. 4
0
 public void SpawnAsteroidOnEdge(AsteroidSpec spec)
 {
     SpawnAsteroid(DetermineEdgeSpawnPos(), spec);
 }
Esempio n. 5
0
 public void SpawnAsteroidInPlayArea(AsteroidSpec spec)
 {
     SpawnAsteroid(DeterminePlayAreaSpawnPos(), spec);
 }