Ejemplo n.º 1
0
    //  private void SpawnRandomEnemy()
    //  {
    //      GameObject temp = Instantiate(enemies[Random.Range(0,enemies.Length)], curve.GetPointAt(0), Quaternion.identity);
    //      EnemyPathWalk script = temp.GetComponent<EnemyPathWalk>();
    //      gc.add_to_enemies_spawned(1);
    //script.SetCurve(curve);
    //  }


    // spawns an enemy of the sent prefab at this curve

    public void SpawnEnemy(GameObject enemy)
    {
        //print(curve);
        GameObject effect = Instantiate(spawn_effect, curve.GetPointAt(0), Quaternion.identity);

        effect.transform.Rotate(new Vector3(-90, 0, 0));

        GameObject temp = Instantiate(enemy, curve.GetPointAt(0), Quaternion.identity);

        EnemyPathWalk script = temp.GetComponent <EnemyPathWalk>();

        script.SetCurve(curve);
    }
Ejemplo n.º 2
0
    private void OnCollisionEnter(Collision collision)
    {
        //collision.collider is shield (child obj), collision.gameObject is enemy (parent)
        print(collision.collider.gameObject);
        if (collision.collider.CompareTag("Shield") && collision.gameObject.GetComponent <DelayDestroy>() == null)
        {
            SoundManagerScript.S.MakeThwackSound();
            Vibrate();
            StartCoroutine(Disable());
        }

        else
        {
            EnemyPathWalk enemy = collision.gameObject.GetComponent <EnemyPathWalk>();
            if (enemy != null)
            {
                SoundManagerScript.S.MakeThwackSound();
                Vibrate();
                enemy.Kill(velocity);
            }
        }
    }