From b552f79856b00b5b38313baac41562151895602d Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 23 四月 2024 09:12:17 +0800
Subject: [PATCH] #

---
 src/core/warehouse.jsx |   20 ++++++++++++--------
 src/components/agv.jsx |   27 +++++++++++++--------------
 2 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/src/components/agv.jsx b/src/components/agv.jsx
index d670e81..6544d6e 100644
--- a/src/components/agv.jsx
+++ b/src/components/agv.jsx
@@ -7,34 +7,31 @@
 import * as TWEEN from "@tweenjs/tween.js";
 import { INTERVAL_TIME } from '@/config/setting'
 
-let lastData = {};
-
-// TWEEN.Easing.Linear.None 鍖�閫熷姩鐢�
-// TWEEN.Easing.Quadratic.InOut 鍦ㄥ姩鐢荤殑寮�濮嬪拰缁撴潫闃舵锛岄�熷害杈冩參锛岃�屽湪涓棿闃舵閫熷害杈冨揩
-const TWEEN_EASING = TWEEN.Easing.Linear.None;
+let coords = { x: 0, y: 0, z: 0 };
 
 const Agv = (props) => {
     const { position, theta } = props;
 
     const [groupPos, setGroupPos] = useState({ x: 0, y: 0, z: 0 });
-    const coords = useRef({ x: 0, y: 0, z: 0 });
 
     useEffect(() => {
         if (!props || Object.keys(props).length === 0) {
             return;
         }
+        console.log(props);
         const pos = {
             x: props.position[0],
             y: 0,
             z: props.position[2],
         }
-        new TWEEN.Tween(coords.current)
-            .to(pos, INTERVAL_TIME)
-            .easing(TWEEN_EASING)
-            .onUpdate((e) => {
-                console.log(e);
-            })
-            .start();
+        // new TWEEN.Tween(coords)
+        //     .to(pos, INTERVAL_TIME)
+        //     .easing(TWEEN.Easing.Linear.None)
+        //     .onUpdate((e) => {
+        //         coords = e;
+        //         console.log(e);
+        //     })
+        //     .start();
     }, [props]);
 
     useFrame((state, delta) => {
@@ -66,6 +63,8 @@
     }, [])
 
     useEffect(() => {
+
+
     }, []);
 
     return (
@@ -73,7 +72,7 @@
             <group
                 rotation-y={Common.rotationParseNum(theta)}
                 scale={0.5}
-                position={[coords.current.x, coords.current.y, coords.current.z]}
+                position={position}
             >
                 <primitive object={bodyModel} castShadow />
                 <primitive object={loaderModel} castShadow position={[0, 100, 0]} />
diff --git a/src/core/warehouse.jsx b/src/core/warehouse.jsx
index 0443611..402571f 100644
--- a/src/core/warehouse.jsx
+++ b/src/core/warehouse.jsx
@@ -9,33 +9,37 @@
 import { INTERVAL_TIME } from '@/config/setting'
 
 let index = 0;
+let coords = { x: 0, y: 0, z: 0 };
 
 const Warehouse = (props) => {
 
     const [agvData, setAgvData] = useState([
         {}
     ]);
-
     const [boxData, setBoxData] = useState([
         {}
     ])
 
     useEffect(() => {
+        const agvRealData = agvRealDataList[0];
+
         const timer = setInterval(() => {
-            const agvRealData = agvRealDataList[index];
-            if (agvRealData) {
-                setAgvData((state) => {
-                    return agvRealData;
-                });
-            }
+            coords.x++;
+            agvRealData[0].position = [coords.x, coords.y, coords.z];
+            // console.log(agvRealData);
+            setAgvData(agvRealData);
             index++;
-        }, INTERVAL_TIME);
+        }, 1000);
 
         return () => {
             clearInterval(timer);
         }
     }, [])
 
+    useEffect(() => {
+        console.log(agvData);
+    }, [agvData])
+
     const tunnelEl = useMemo(() => {
         return tunnelData.map((tunnel, index) => <Tunnel key={index} {...tunnel} />)
     }, []);

--
Gitblit v1.9.1