// 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); }
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); } } }