From 1d53f03fec3c4bb7056d644d5d1684f4fc875d21 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Mon, 27 Apr 2026 15:53:35 +0200 Subject: [PATCH] Feature: Add clearTarget input binding and resolution for player start actions --- src/runtime-three/player-input-bindings.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/runtime-three/player-input-bindings.ts b/src/runtime-three/player-input-bindings.ts index c6dbbc1a..56b409e4 100644 --- a/src/runtime-three/player-input-bindings.ts +++ b/src/runtime-three/player-input-bindings.ts @@ -20,6 +20,7 @@ export interface PlayerStartActionInputState sprint: number; crouch: number; interact: number; + clearTarget: number; pauseTime: number; } @@ -297,6 +298,10 @@ export function resolvePlayerStartActionInputs( pressedKeys.has(bindings.keyboard.interact) ? 1 : 0, readGamepadActionBindingStrength(gamepads, bindings.gamepad.interact) ), + clearTarget: Math.max( + pressedKeys.has(bindings.keyboard.clearTarget) ? 1 : 0, + readGamepadActionBindingStrength(gamepads, bindings.gamepad.clearTarget) + ), pauseTime: Math.max( pressedKeys.has(bindings.keyboard.pauseTime) ? 1 : 0, readGamepadActionBindingStrength(gamepads, bindings.gamepad.pauseTime) @@ -322,6 +327,15 @@ export function resolvePlayerStartInteractInput( .interact; } +export function resolvePlayerStartClearTargetInput( + pressedKeys: ReadonlySet, + bindings: PlayerStartInputBindings, + gamepads: ArrayLike | null | undefined = getAvailableGamepads() +): number { + return resolvePlayerStartActionInputs(pressedKeys, bindings, gamepads) + .clearTarget; +} + export function resolveDefaultTargetCycleInput( gamepads: ArrayLike | null | undefined = getAvailableGamepads() ): number {