SceneView code refactoring,

simple mock object
This commit is contained in:
azykov@mail.ru
2026-06-02 14:30:05 +03:00
parent 4d8de50d58
commit 765412f9a9
5 changed files with 90 additions and 27 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
import { observer } from "mobx-react-lite";
import type { ObjectInstance } from "../types";
import { useEffect, useRef, type RefObject } from "react";
import type { Group, Mesh } from "three";
import type { Group } from "three";
import { Edges, TransformControls } from "@react-three/drei";
import type { ThreeEvent } from "@react-three/fiber";
import { state } from "../state";
+18
View File
@@ -0,0 +1,18 @@
import { observer } from "mobx-react-lite";
import type { Scene } from "../types";
import { CharacterView } from "./CharacterView";
import { ObjectView } from "./ObjectView";
type SceneViewProps = {
scene: Scene,
}
export const SceneView = observer(function ({ scene }: SceneViewProps) {
return (<>
<ambientLight intensity={0.5} />
<directionalLight position={[5, 5, 5]} intensity={1} />
{Object.values(scene.objects).map((obj) =>
<ObjectView key={obj.id} object={obj} />)}
<CharacterView />
</>);
});
+2 -6
View File
@@ -4,8 +4,7 @@ import { useFrame } from '@react-three/fiber';
import { OrbitControls } from '@react-three/drei';
import { observer } from 'mobx-react-lite';
import { state } from '../state';
import { ObjectView } from './ObjectView';
import { CharacterView } from './CharacterView';
import { SceneView } from './SceneView';
export const WorldView = observer(function () {
const world = state.world;
@@ -34,9 +33,6 @@ export const WorldView = observer(function () {
makeDefault
enableDamping={false}
/>
<ambientLight intensity={0.5} />
<directionalLight position={[5, 5, 5]} intensity={1} />
{Object.values(world.currentScene.objects).map((obj) => <ObjectView key={obj.id} object={obj} />)}
<CharacterView />
<SceneView scene={state.world.currentScene} />
</>)
});