Files
La-Fabrik/src/hooks/debug/usePlayerPositionDebug.ts
T
2026-06-01 11:49:48 +02:00

30 lines
904 B
TypeScript

import { useRef } from "react";
import { useFrame } from "@react-three/fiber";
import type GUI from "lil-gui";
import { useDebugFolder } from "@/hooks/debug/useDebugFolder";
export function usePlayerPositionDebug(): void {
const pos = useRef({ x: 0, y: 0, z: 0 });
const controllers = useRef<{ updateDisplay: () => void }[]>([]);
useDebugFolder("Game", (folder: GUI) => {
const sub = folder.addFolder("Player Position");
sub.open();
controllers.current = [
sub.add(pos.current, "x").name("X").decimals(2).disable(),
sub.add(pos.current, "y").name("Y").decimals(2).disable(),
sub.add(pos.current, "z").name("Z").decimals(2).disable(),
];
});
useFrame(() => {
const p = window.playerPos;
if (!p) return;
pos.current.x = p[0];
pos.current.y = p[1];
pos.current.z = p[2];
for (const c of controllers.current) c.updateDisplay();
});
}