feat: gameplay settings screen (deadzone + sensitivity)

This commit is contained in:
2026-03-19 03:47:15 +01:00
parent e647cd7b29
commit 38c86f1a67
5 changed files with 208 additions and 8 deletions

View File

@@ -1,4 +1,5 @@
using Godot;
using Mr.BrickAdventures.Autoloads;
namespace Mr.BrickAdventures.scripts.components;
@@ -15,7 +16,11 @@ public partial class PlayerInputHandler : Node
public override void _PhysicsProcess(double delta)
{
MoveDirection = Input.GetVector("left", "right", "up", "down");
var rawInput = Input.GetVector("left", "right", "up", "down");
var sensitivity = SettingsManager.Instance?.GamepadSensitivity ?? 1.0f;
MoveDirection = rawInput.Length() > 0
? rawInput.Normalized() * Mathf.Min(rawInput.Length() * sensitivity, 1.0f)
: Vector2.Zero;
JumpPressed = Input.IsActionJustPressed("jump");
JumpReleased = Input.IsActionJustReleased("jump");