Skip to content

InputLayerManager Class

Manages input layers and routes input to them in priority order. All layers are always invoked each frame; the consumed flag is forwarded so lower-priority layers can perform cleanup even when input was already claimed.

public sealed class InputLayerManager : System.IDisposable

Inheritance System.Object → InputLayerManager

Implements System.IDisposable

Remarks

Thread-safe: layer registration and processing are guarded by Brine2D.Input.InputLayerManager._lock. The lock is never held while invoking layer callbacks to avoid deadlocks when user handlers call RegisterLayer(IInputLayer) or UnregisterLayer(IInputLayer) re-entrantly.

Properties
GamepadConsumed Returns true if gamepad input was consumed by any layer this frame.
KeyboardConsumed Returns true if keyboard input was consumed by any layer this frame.
MouseConsumed Returns true if mouse input was consumed by any layer this frame.
Methods
ProcessInput() Processes input through all layers in priority order. Call this once per frame after Update(). If a layer throws, the exception is logged and processing continues with the remaining layers so that a single misbehaving layer cannot break input for the entire frame.
RegisterLayer(IInputLayer) Registers an input layer.
UnregisterLayer(IInputLayer) Unregisters an input layer.