add: a logger utils

This commit is contained in:
Tom Boullay
2026-04-24 14:02:16 +02:00
parent 38f9f087d1
commit 8c84663472
4 changed files with 146 additions and 5 deletions
+13 -4
View File
@@ -9,6 +9,10 @@ export class InteractionManager {
private _focused: InteractableHandle | null = null;
private _holding = false;
private _holdingHandle: InteractableHandle | null = null;
private _snapshot: InteractionSnapshot = {
focused: null,
holding: false,
};
private readonly _listeners = new Set<() => void>();
static getInstance(): InteractionManager {
@@ -22,10 +26,7 @@ export class InteractionManager {
private constructor() {}
getState(): InteractionSnapshot {
return {
focused: this._focused,
holding: this._holding,
};
return this._snapshot;
}
setFocused(handle: InteractableHandle | null): void {
@@ -67,11 +68,19 @@ export class InteractionManager {
this._focused = null;
this._holding = false;
this._holdingHandle = null;
this._snapshot = {
focused: null,
holding: false,
};
this._listeners.clear();
InteractionManager._instance = null;
}
private _emit(): void {
this._snapshot = {
focused: this._focused,
holding: this._holding,
};
this._listeners.forEach((cb) => cb());
}
}