/// <summary> /// Checks whether the player should begin braking. /// </summary> private void CheckBraking() { if (_rolling) { _brakeState = BrakeState.None; return; } if (_brakeState == BrakeState.None) { if (_movementMode == PlayerMovementMode.Floor) { if (!_falling && _turning && Math.Abs(_gsp) > 4.5) { _brakeState = BrakeState.Braking; if (BrakeSound != 0) { _audioService.PlaySoundEffect(BrakeSound); } } } } else { if (Math.Abs(_gsp) < 0.5 || (_movementMode != PlayerMovementMode.Floor) || _falling || _rolling) { _brakeState = BrakeState.None; } } }
/// <summary> /// Moves the player braking into a state whereby it will no longer occur /// until more forwards accelleration is applied. /// </summary> public void FinishBraking() { if (_brakeState == BrakeState.Braking) { _brakeState = BrakeState.Finished; } }