private void OnTriggerEnter(Collider collision) { if (!fallingSound.isPlaying) { fallingSound.Play(); } fireball.SetActive(false); StartCoroutine(StampDisappear()); fireExplosion.transform.SetParent(GameController.instance.transform); fireExplosion.SetActive(true); if (isSeed) { Vector3 v = gameObject.transform.position; v.y = 1f; FireElementController e = FireElementController.InstantiateByPool(fe, v, Quaternion.Euler(0, 0, 0), GameController.instance.transform, gameObject.layer, target); e.SetTarget(target); e.speller = this.speller; isSeed = false; } if (collision.gameObject.layer == 9 && collision.gameObject.GetComponent <State>() != null) { collision.gameObject.GetComponent <State>().TakeSkillContent(damage); } StartCoroutine(DelayDisable(2)); }
public static FireElementController InstantiateByPool(FireElementController item, Vector3 worldPos, Quaternion worldRot, Transform parent, int layer, GameObject target) { FireElementController instance = InstantiateByPool(item); instance.gameObject.layer = layer; instance.transform.SetParent(parent, false); instance.transform.position = worldPos; instance.transform.rotation = worldRot; instance.target = target; instance.gameObject.SetActive(true); return(instance); }