Files
Dwinzo_dev/app/src/modules/simulation/vehicle/vehicles.tsx

141 lines
4.0 KiB
TypeScript
Raw Normal View History

2025-04-29 10:18:05 +05:30
import React, { useEffect, useState } from "react";
import VehicleInstances from "./instances/vehicleInstances";
import { useVehicleStore } from "../../../store/simulation/useVehicleStore";
import { useFloorItems } from "../../../store/store";
import { useSelectedEventSphere } from "../../../store/simulation/useSimulationStore";
import VehicleUI from "../ui/vehicle/vehicleUI";
function Vehicles() {
2025-04-29 10:18:05 +05:30
const { vehicles, addVehicle } = useVehicleStore();
const { selectedEventSphere } = useSelectedEventSphere();
2025-04-29 10:18:05 +05:30
const { floorItems } = useFloorItems();
2025-04-29 10:18:05 +05:30
const [vehicleStatusSample, setVehicleStatusSample] = useState<
VehicleEventSchema[]
>([
{
modelUuid: "68f8dc55-7802-47fe-aa1c-eade54b4320a",
modelName: "AGV",
position: [89.61609306554463, 0, 33.634136622267356],
rotation: [0, 0, 0],
state: "idle",
type: "vehicle",
speed: 2.5,
point: {
uuid: "point-789",
position: [0, 1, 0],
rotation: [0, 0, 0],
action: {
actionUuid: "action-456",
actionName: "Deliver to Zone A",
actionType: "travel",
unLoadDuration: 10,
loadCapacity: 2,
pickUpPoint: null,
unLoadPoint: null,
triggers: [
{
triggerUuid: "trig-001",
triggerName: "Start Travel",
triggerType: "onStart",
delay: 0,
triggeredAsset: {
triggeredModel: { modelName: "ArmBot-X", modelUuid: "arm-001" },
triggeredPoint: {
pointName: "Pickup Arm Point",
pointUuid: "arm-point-01",
},
triggeredAction: {
actionName: "Grab Widget",
actionUuid: "grab-001",
},
},
},
{
triggerUuid: "trig-002",
triggerName: "Complete Travel",
triggerType: "onComplete",
delay: 2,
triggeredAsset: null,
},
],
},
},
},
{
modelUuid: "3a8f6da6-da57-4ef5-91e3-b8daf89e5753",
modelName: "forklift",
position: [98.85729337188162, 0, 38.36616546567653],
rotation: [0, 0, 0],
state: "idle",
type: "vehicle",
speed: 2.5,
point: {
uuid: "point-789",
position: [0, 1, 0],
rotation: [0, 0, 0],
action: {
actionUuid: "action-456",
actionName: "Deliver to Zone A",
actionType: "travel",
unLoadDuration: 15,
loadCapacity: 5,
pickUpPoint: null,
unLoadPoint: null,
triggers: [
{
triggerUuid: "trig-001",
triggerName: "Start Travel",
triggerType: "onStart",
delay: 0,
triggeredAsset: {
triggeredModel: { modelName: "ArmBot-X", modelUuid: "arm-001" },
triggeredPoint: {
pointName: "Pickup Arm Point",
pointUuid: "arm-point-01",
},
triggeredAction: {
actionName: "Grab Widget",
actionUuid: "grab-001",
},
},
},
{
triggerUuid: "trig-002",
triggerName: "Complete Travel",
triggerType: "onComplete",
delay: 2,
triggeredAsset: null,
},
],
},
2025-04-29 10:18:05 +05:30
},
},
]);
// useEffect(())
console.log("vehicleStatusSample", vehicleStatusSample);
useEffect(() => {
addVehicle("123", vehicleStatusSample[0]);
// addVehicle('123', vehicleStatusSample[1]);
// addVehicle('123', vehicleStatusSample[2]);
}, []);
2025-04-29 10:18:05 +05:30
useEffect(() => {}, [vehicles]);
2025-04-29 10:18:05 +05:30
return (
<>
<VehicleInstances />
<VehicleUI
setVehicleStatusSample={setVehicleStatusSample}
vehicleStatusSample={vehicleStatusSample}
/>
</>
);
}
2025-04-29 10:18:05 +05:30
export default Vehicles;