Feature: Implement support for climb action bindings

This commit is contained in:
2026-04-30 00:14:57 +02:00
parent 7b03df09f6
commit fa14a0c17f
5 changed files with 69 additions and 0 deletions

View File

@@ -18,6 +18,7 @@ export interface PlayerStartActionInputState extends PlayerStartMovementActionSt
jump: number;
sprint: number;
crouch: number;
climb: number;
interact: number;
clearTarget: number;
pauseTime: number;
@@ -316,6 +317,10 @@ export function resolvePlayerStartActionInputs(
pressedKeys.has(bindings.keyboard.crouch) ? 1 : 0,
readGamepadActionBindingStrength(gamepads, bindings.gamepad.crouch)
),
climb: Math.max(
pressedKeys.has(bindings.keyboard.climb) ? 1 : 0,
readGamepadActionBindingStrength(gamepads, bindings.gamepad.climb)
),
interact: Math.max(
pressedKeys.has(bindings.keyboard.interact) ? 1 : 0,
readGamepadActionBindingStrength(gamepads, bindings.gamepad.interact)
@@ -355,6 +360,17 @@ export function resolvePlayerStartInteractInput(
.interact;
}
export function resolvePlayerStartClimbInput(
pressedKeys: ReadonlySet<string>,
bindings: PlayerStartInputBindings,
gamepads:
| ArrayLike<Gamepad | null>
| null
| undefined = getAvailableGamepads()
): number {
return resolvePlayerStartActionInputs(pressedKeys, bindings, gamepads).climb;
}
export function resolvePlayerStartClearTargetInput(
pressedKeys: ReadonlySet<string>,
bindings: PlayerStartInputBindings,