From 354ed76a40a54cf8d83b8bbd06ce642b3934905c Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 29 四月 2024 14:09:41 +0800
Subject: [PATCH] #

---
 src/components/shelf.jsx |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/components/shelf.jsx b/src/components/shelf.jsx
index 4c39a50..5347d8a 100644
--- a/src/components/shelf.jsx
+++ b/src/components/shelf.jsx
@@ -2,17 +2,23 @@
 import { useGLTF, useFBX } from '@react-three/drei';
 import * as THREE from 'three';
 import { MODEL_SHELF_SCALE } from '@/config/setting'
+import { useStore } from '@/store';
 import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader';
 import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
 import Box from './box';
 import * as Common from '../utils/common';
 
 const Shelf = (props) => {
-    const { position = [0, 300, 0], rotationY = 0 } = props;
+    const { no, position = [0, 300, 0], rotationY = 0 } = props;
+    const state = useStore();
 
     const { nodes, materials } = useMemo(() => {
         return useGLTF('/models/shelf/row.glb');
     }, [])
+
+    useEffect(() => {
+        state.shelfList[no] = position;
+    }, [props]);
 
     return (
         <>
@@ -29,10 +35,8 @@
                     <boxGeometry args={[150, 200, 30]} />
                     <meshStandardMaterial color={'orange'} transparent={true} opacity={.5} />
                 </mesh>
+                {/* <Box rotationY={0} position={[0, 0, 0]} /> */}
             </group>
-            {/* <Box rotationY={Math.PI / 2} position={[0, 100, -50]} />
-            <Box rotationY={Math.PI / 2} position={[0, 100, 0]} />
-            <Box rotationY={Math.PI / 2} position={[0, 100, 30]} /> */}
         </>
     )
 }

--
Gitblit v1.9.1