public IEnumerator HoldLandingPosition() { GameObject landingPadClone = Instantiate(_landingPad); landingPadClone.transform.localPosition = _landingPad.transform.position; Component[] components = new Component[2]; components = landingPadClone.GetComponentsInChildren(typeof(ParticleSystem)); foreach (ParticleSystem particleSystem in components) { particleSystem.Play(); } _landingPad.SetActive(false); _drawLine._line.colorGradient = _drawLine.CreateGradient(Color.black, _blackGradient); yield return(new WaitForSeconds(0.5f)); Destroy(landingPadClone); _landingPad.SetActive(true); _landingPad.transform.position = this.transform.position; _verticleParticles.Stop(); _horizontalParticles.Stop(); _groundLight.enabled = false; _drawLine._line.enabled = false; _isCast = false; _extendingRate = 0.1f; _stats.UseMana(10); }