private void EnableEnemy(GameObject enemy) { EnemyTrigger eT = enemy.GetComponentInChildren <EnemyTrigger>(); eT.active = true; Collider2D[] enemyColliders = enemy.GetComponentsInChildren <Collider2D>(); for (int i = 0; i < enemyColliders.Length; i++) { enemyColliders[i].enabled = true; } NeedleAI n = enemy.GetComponent <NeedleAI>(); WaspAI w = enemy.GetComponent <WaspAI>(); BatAI b = enemy.GetComponent <BatAI>(); MoleAI m = enemy.GetComponent <MoleAI>(); SlugAI s = enemy.GetComponent <SlugAI>(); if (n != null) { n.enabled = true; } else if (w != null) { w.enabled = true; } else if (b != null) { b.enabled = true; } else if (m != null) { m.enabled = true; } else if (s != null) { s.enabled = true; } else { Debug.LogWarning(enemy + " is no enemy"); } }
protected override IEnumerator Death() { //Upcast to slug ai SlugAI slug = (SlugAI)ai; slug.animator.SetTrigger("death"); //slug.attackSphere.gameObject.SetActive(false); slug.state = SlugAI.State.dead; slug.StopAllCoroutines(); slug.audioSource2D.PlayOneShot(slug.attributes.deathClip); yield return(new WaitForSeconds(1f)); //Play particle effect //Play dissappear noise mesh.SetActive(false); GameObject pickup = Instantiate(slug.attributes.normalDrop, transform.position, Quaternion.identity); pickup.GetComponent <Pickup>().MakeTemporary(3f); Destroy(transform.parent.gameObject, 5f); }