/// <summary>
    /// Configures the movement of the enemy plane. Movement will be lateral from one side to the other
    /// </summary>
    public override void ConfigureMovement(Common.Side side)
    {
        Side = side;
        switch (Side)
        {
        case Common.Side.LEFT:
            movement = new Vector2(-speed.x, speed.y);
            break;

        case Common.Side.RIGHT:
            movement = new Vector2(speed.x, speed.y);
            break;
        }

        rigidb.velocity = movement;
    }
Beispiel #2
0
    /// <summary>
    /// Creates a wave of column enemies on one spawn side
    /// </summary>
    /// <param name="spawnArea">Spawn area.</param>
    /// <param name="side">Side.</param>
    void CreateWave(SpawnArea spawnArea, Common.Side side, EnemyType enemyType)
    {
        string enemyName = "ColumnEnemy";

        switch (enemyType)
        {
        case EnemyType.SIDE:
            enemyName = "SideEnemy";
            break;

        case EnemyType.COLUMN:
            enemyName = "ColumnEnemy";
            break;
        }
        GameObject enemyInstantiate = ObjectPooler.Instance.GetPooledObject(enemyName);

        enemyInstantiate.transform.position = new Vector3(
            Random.Range(spawnArea.area.xMin, spawnArea.area.xMax),
            Random.Range(spawnArea.area.yMin, spawnArea.area.yMax),
            0f
            );
        enemyInstantiate.GetComponent <EnemyBase>().ConfigureMovement(side);
    }
Beispiel #3
0
 /// <summary>
 /// Configures the movement of the enemy plane.
 /// </summary>
 public abstract void ConfigureMovement(Common.Side side);