void GunRecoil(Vector3 recoil, float time) { float recoilElapsed = 0; StartCoroutine(recoilIncrease()); IEnumerator recoilIncrease() { while (recoilElapsed < time) { recoilElapsed += Time.deltaTime; gunHandler.AddRecoil(recoil * Time.deltaTime); yield return(null); } } }