private void EventManager_onRunEvent(GPEvent runEvent) { // TODO velocity/vibration scale for events types switch (runEvent) { case BailEvent bail_event: isSkating = false; isGrounded = false; isGrinding = false; InputController.Instance.player.StopVibration(); TriggerEvent(RumbleEvents.Bail); break; case BrakeEvent brake_event: TriggerEvent(RumbleEvents.Brake); break; case CatchEvent catch_event: TriggerEvent(RumbleEvents.Catch); break; case GrindEnterEvent grind_enter_event: TriggerEvent(RumbleEvents.GrindEnter); isGrinding = true; break; case GrindExitEvent grind_exit_event: isGrinding = false; InputController.Instance.player.StopVibration(); break; case JumpEvent jump_event: isGrounded = false; isGrinding = false; InputController.Instance.player.StopVibration(); TriggerEvent(RumbleEvents.Pop, Mathf.Clamp01(value: jump_event.popForce / maxJumpForce)); break; case PushEvent push_event: TriggerEvent(RumbleEvents.Push); break; case RespawnEvent respawn_event: InputController.Instance.player.StopVibration(); isSkating = true; break; } }
private void EventManager_onRunEvent(GPEvent runEvent) { switch (runEvent) { case BailEvent bail_event: // TODO velocity scale isGrounded = false; isGrinding = false; InputController.Instance.player.SetVibration(motorIndex: 0, motorLevel: rumbleEvents[key: RumbleEvents.Bail].GetMotorLevel(fraction: 1f), duration: rumbleEvents[key: RumbleEvents.Bail].Time); break; case BrakeEvent brake_event: // TODO velocity scale InputController.Instance.player.SetVibration(motorIndex: 0, motorLevel: rumbleEvents[key: RumbleEvents.Brake].GetMotorLevel(fraction: 1f), duration: rumbleEvents[key: RumbleEvents.Brake].Time); break; case CatchEvent catch_event: InputController.Instance.player.SetVibration(motorIndex: 0, motorLevel: rumbleEvents[key: RumbleEvents.Catch].GetMotorLevel(fraction: 1f), duration: rumbleEvents[key: RumbleEvents.Catch].Time); break; case GrabEnterEvent grab_enter_event: break; case GrabExitEvent grab_exit_event: break; case GrindEnterEvent grind_enter_event: // TODO velocity scale InputController.Instance.player.SetVibration(motorIndex: 0, motorLevel: rumbleEvents[key: RumbleEvents.GrindEnter].GetMotorLevel(fraction: 1f), duration: rumbleEvents[key: RumbleEvents.GrindEnter].Time); isGrinding = true; break; case GrindExitEvent grind_exit_event: isGrinding = false; break; case JumpEvent jump_event: isGrounded = false; isGrinding = false; InputController.Instance.player.SetVibration(motorIndex: 0, motorLevel: rumbleEvents[key: RumbleEvents.Pop].GetMotorLevel(fraction: Mathf.Clamp01(value: jump_event.popForce / maxJumpForce)), duration: rumbleEvents[key: RumbleEvents.Pop].Time); break; case LandEvent land_event: break; case ManualEnterEvent manual_enter_event: break; case ManualExitEvent manual_exit_event: break; case PinEvent pin_event: break; case PowerSlideEnterEvent power_slide_enter_event: break; case PowerSlideExitEvent power_slide_exit_event: break; case PushEvent push_event: InputController.Instance.player.SetVibration(motorIndex: 0, motorLevel: rumbleEvents[key: RumbleEvents.Push].GetMotorLevel(fraction: 1f), duration: rumbleEvents[key: RumbleEvents.Push].Time); break; case ReleaseEvent release_event: break; case RespawnEvent respawn_event: break; case TrickComboEndEvent trick_combo_end_event: break; case TrickComboStartEvent trick_combo_start_event: break; case TrickEvent trick_event: break; } }