From 1c367ba22bb5ba35b3a2de45f23af675d50eeff4 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 23 四月 2024 17:19:36 +0800 Subject: [PATCH] # --- src/core/warehouse.jsx | 33 +++++++++++++++++++-------------- 1 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/core/warehouse.jsx b/src/core/warehouse.jsx index 114dcf1..3e5524c 100644 --- a/src/core/warehouse.jsx +++ b/src/core/warehouse.jsx @@ -1,15 +1,17 @@ import { useState, useEffect, useRef, useMemo } from 'react'; import { useFrame } from '@react-three/fiber'; import * as THREE from 'three'; -import Agv from '../components/agv'; -import Box from '../components/box'; -import tunnelData from '../assets/data/tunnel'; import Tunnel from '../components/tunnel'; +import Shelf from '../components/shelf'; +import Box from '../components/box'; +import Agv from '../components/agv'; + +import tunnelData from '@/assets/data/tunnel'; +import shelfData from '@/assets/data/shelf'; import agvRealDataList from '@/assets/data/agv'; import { INTERVAL_TIME } from '@/config/setting' let index = 0; -let coords = { x: 0, y: 0, z: 0 }; const Warehouse = (props) => { @@ -21,17 +23,13 @@ ]) useEffect(() => { - - const timer = setInterval(() => { - coords.x++; - // agvRealData[0].position = [coords.x, coords.y, coords.z]; - const agvRealData = agvRealDataList[index]; - console.log(agvRealData); - setAgvData(agvRealData); + if (agvRealData) { + setAgvData(agvRealData); + } index++; - }, 1000); + }, INTERVAL_TIME * 1.1); return () => { clearInterval(timer); @@ -39,14 +37,20 @@ }, []) const tunnelEl = useMemo(() => { - return tunnelData.map((tunnel, index) => <Tunnel key={index} {...tunnel} />) + return tunnelData.map((data, index) => <Tunnel key={index} {...data} />) + }, []); + + const shelfEl = useMemo(() => { + return shelfData.map((data, index) => <Shelf key={index} {...data} />) }, []); const agvEl = useMemo(() => { return agvData.map((data, idx) => <Agv key={idx} {...data} />) }, [agvData]); - const boxEl = boxData.map((data, idx) => <Box key={idx} {...data} />) + const boxEl = useMemo(() => { + return boxData.map((data, idx) => <Box key={idx} {...data} />) + }, [boxData]); useFrame((state, delta) => { @@ -56,6 +60,7 @@ <> <group> {tunnelEl} + {shelfEl} {agvEl} {boxEl} </group> -- Gitblit v1.9.1