Feature: Add clearTarget input binding and resolution for player start actions

This commit is contained in:
2026-04-27 15:53:35 +02:00
parent 2870ac93f9
commit 1d53f03fec

View File

@@ -20,6 +20,7 @@ export interface PlayerStartActionInputState
sprint: number; sprint: number;
crouch: number; crouch: number;
interact: number; interact: number;
clearTarget: number;
pauseTime: number; pauseTime: number;
} }
@@ -297,6 +298,10 @@ export function resolvePlayerStartActionInputs(
pressedKeys.has(bindings.keyboard.interact) ? 1 : 0, pressedKeys.has(bindings.keyboard.interact) ? 1 : 0,
readGamepadActionBindingStrength(gamepads, bindings.gamepad.interact) readGamepadActionBindingStrength(gamepads, bindings.gamepad.interact)
), ),
clearTarget: Math.max(
pressedKeys.has(bindings.keyboard.clearTarget) ? 1 : 0,
readGamepadActionBindingStrength(gamepads, bindings.gamepad.clearTarget)
),
pauseTime: Math.max( pauseTime: Math.max(
pressedKeys.has(bindings.keyboard.pauseTime) ? 1 : 0, pressedKeys.has(bindings.keyboard.pauseTime) ? 1 : 0,
readGamepadActionBindingStrength(gamepads, bindings.gamepad.pauseTime) readGamepadActionBindingStrength(gamepads, bindings.gamepad.pauseTime)
@@ -322,6 +327,15 @@ export function resolvePlayerStartInteractInput(
.interact; .interact;
} }
export function resolvePlayerStartClearTargetInput(
pressedKeys: ReadonlySet<string>,
bindings: PlayerStartInputBindings,
gamepads: ArrayLike<Gamepad | null> | null | undefined = getAvailableGamepads()
): number {
return resolvePlayerStartActionInputs(pressedKeys, bindings, gamepads)
.clearTarget;
}
export function resolveDefaultTargetCycleInput( export function resolveDefaultTargetCycleInput(
gamepads: ArrayLike<Gamepad | null> | null | undefined = getAvailableGamepads() gamepads: ArrayLike<Gamepad | null> | null | undefined = getAvailableGamepads()
): number { ): number {