private IEnumerator DeathProcesses() { death_running = true; if (shockwave_force == true) { ApplyExplosionForce(transform.position, explosion_range, force_of_explosion); } //AppyExplosionForce(); SpriteRenderer sr = null; //*************** //Disable Sprites //*************** sr = gameObject.GetComponent <SpriteRenderer>(); if (sr != null) { sr.enabled = false; } SpriteRenderer[] sr_col = gameObject.GetComponentsInChildren <SpriteRenderer>(); if (sr_col != null) { foreach (SpriteRenderer s in sr_col) { s.enabled = false; } } Transform obj = gameObject.transform.Find("Sprint"); if (obj != null) { if (sr != null) { sr.enabled = false; } } //***************** //Disable Collision //***************** PolygonCollider2D pcol = gameObject.GetComponent <PolygonCollider2D>(); if (pcol != null) { pcol.enabled = false; } BoxCollider2D bcol = gameObject.GetComponent <BoxCollider2D>(); if (bcol != null) { bcol.enabled = false; } //******************** //Throw som edebri out //******************** Debris debris = gameObject.GetComponent <Debris>(); if (debris != null) { debris.CreateDebris(); } if (deathFX != null) { GameObject explosion = Instantiate(deathFX, transform.position, transform.rotation); if (shockwave != null) { Instantiate(shockwave, transform.position, transform.rotation); } Destroy(explosion, durationOfExplosion); } yield return(new WaitForSeconds(durationOfExplosion)); Destroy(gameObject); }