40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
namespace TPSBR
|
|
{
|
|
using UnityEngine;
|
|
using UnityEngine.InputSystem;
|
|
using Fusion.Addons.KCC;
|
|
|
|
public sealed partial class AgentInput
|
|
{
|
|
partial void ProcessGamepadInput(bool isInputPoll)
|
|
{
|
|
// Very basic gamepad input, not all actions are implemented.
|
|
|
|
Gamepad gamepad = Gamepad.current;
|
|
if (gamepad == null)
|
|
return;
|
|
|
|
Vector2 moveDirection = gamepad.leftStick.ReadValue();
|
|
if (moveDirection.IsAlmostZero(0.1f) == false)
|
|
{
|
|
_renderInput.MoveDirection = moveDirection;
|
|
}
|
|
|
|
Vector2 lookRotationDelta = gamepad.rightStick.ReadValue();
|
|
if (lookRotationDelta.IsAlmostZero() == false)
|
|
{
|
|
lookRotationDelta = new Vector2(-lookRotationDelta.y, lookRotationDelta.x);
|
|
_renderInput.LookRotationDelta = InputUtility.GetSmoothLookRotationDelta(_smoothLookRotationDelta, lookRotationDelta, Global.RuntimeSettings.Sensitivity, _lookResponsivity);
|
|
}
|
|
|
|
_renderInput.Jump |= gamepad.leftTrigger.isPressed;
|
|
_renderInput.Thrust |= gamepad.leftTrigger.isPressed;
|
|
_renderInput.Attack |= gamepad.rightTrigger.isPressed;
|
|
_renderInput.Interact |= gamepad.aButton.isPressed;
|
|
_renderInput.Reload |= gamepad.xButton.isPressed;
|
|
_renderInput.ToggleJetpack |= gamepad.bButton.isPressed;
|
|
_renderInput.ToggleSide |= gamepad.yButton.isPressed;
|
|
}
|
|
}
|
|
}
|