private IEnumerator ShootRoutine(float vv) { Vector2 startPos = transform.position + new Vector3(vv, 0, 0) + (transform.up * 0.8f); // Fire a shell TankShell shell = TankShell.Shoot(bulletObject, startPos, transform.up); // Wait for the shell to be destroyed while (shell.Step() == false) { // Wait for next frame yield return(null); } // Destroy the shell shell.Destroy(); }