IEnumerator WaitForPunchTime() { GetComponent <AudioSource>().Play(); while (charge.GetCharge() < 1) { charge.AddCharge(charge.GetMaxDamage() / chargeRate, true); yield return(new WaitForSeconds((1 - charge.GetCharge()) * (punchWaitTime / chargeRate))); } GetComponent <AudioSource>().Stop(); FinalizePunch(true); ShootPojectile(); }