This commit is contained in:
Tom Boullay
2026-04-27 11:14:43 +02:00
parent 0e9d711be5
commit 208b43295c
7 changed files with 61 additions and 54 deletions
+6 -6
View File
@@ -1,29 +1,29 @@
import { useEffect } from "react";
import { useThree } from "@react-three/fiber";
import type { Octree } from "three/addons/math/Octree.js";
import { PLAYER_SPAWN_X, PLAYER_SPAWN_Z } from "@/data/playerConfig";
import type { Vector3Tuple } from "@/types/3d";
import { PlayerCamera } from "@/world/player/PlayerCamera";
import { PlayerController } from "@/world/player/PlayerController";
interface PlayerComponentProps {
octree: Octree | null;
spawnY: number;
spawnPosition: Vector3Tuple;
}
export function PlayerComponent({
spawnY,
spawnPosition,
octree,
}: PlayerComponentProps): React.JSX.Element {
const camera = useThree((state) => state.camera);
useEffect(() => {
camera.position.set(PLAYER_SPAWN_X, spawnY, PLAYER_SPAWN_Z);
}, [camera, spawnY]);
camera.position.set(...spawnPosition);
}, [camera, spawnPosition]);
return (
<>
<PlayerCamera />
<PlayerController octree={octree} />
<PlayerController octree={octree} spawnPosition={spawnPosition} />
</>
);
}