feat: implement conveyor path creation with dynamic points and actions
This commit is contained in:
parent
d74b9969f4
commit
00ea0432b5
|
@ -11,16 +11,49 @@ function Behaviour() {
|
||||||
const newPaths: (Types.ConveyorEventsSchema | Types.VehicleEventsSchema)[] = [];
|
const newPaths: (Types.ConveyorEventsSchema | Types.VehicleEventsSchema)[] = [];
|
||||||
|
|
||||||
floorItems.forEach((item: Types.FloorItemType) => {
|
floorItems.forEach((item: Types.FloorItemType) => {
|
||||||
// console.log('item: ', item);
|
if (item.modelfileID === "672a090f80d91ac979f4d0bd") {
|
||||||
if (item.eventData && item.eventData.type === 'Conveyor') {
|
console.log('item: ', item);
|
||||||
|
const point1Position = new THREE.Vector3(0, 0.85, 2.2);
|
||||||
|
const middlePointPosition = new THREE.Vector3(0, 0.85, 0);
|
||||||
|
const point2Position = new THREE.Vector3(0, 0.85, -2.2);
|
||||||
|
|
||||||
|
const point1UUID = THREE.MathUtils.generateUUID();
|
||||||
|
const middlePointUUID = THREE.MathUtils.generateUUID();
|
||||||
|
const point2UUID = THREE.MathUtils.generateUUID();
|
||||||
|
|
||||||
const newPath: Types.ConveyorEventsSchema = {
|
const newPath: Types.ConveyorEventsSchema = {
|
||||||
modeluuid: item.modeluuid,
|
modeluuid: item.modeluuid,
|
||||||
modelName: item.modelname,
|
modelName: item.modelname,
|
||||||
type: 'Conveyor',
|
type: 'Conveyor',
|
||||||
points: item.eventData.points,
|
points: [
|
||||||
|
{
|
||||||
|
uuid: point1UUID,
|
||||||
|
position: [point1Position.x, point1Position.y, point1Position.z],
|
||||||
|
rotation: [0, 0, 0],
|
||||||
|
actions: [{ uuid: THREE.MathUtils.generateUUID(), name: 'Action 1', type: 'Inherit', material: 'Inherit', delay: 'Inherit', spawnInterval: 'Inherit', isUsed: true }],
|
||||||
|
triggers: [],
|
||||||
|
connections: { source: { pathUUID: item.modeluuid, pointUUID: point1UUID }, targets: [] },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
uuid: middlePointUUID,
|
||||||
|
position: [middlePointPosition.x, middlePointPosition.y, middlePointPosition.z],
|
||||||
|
rotation: [0, 0, 0],
|
||||||
|
actions: [{ uuid: THREE.MathUtils.generateUUID(), name: 'Action 1', type: 'Inherit', material: 'Inherit', delay: 'Inherit', spawnInterval: 'Inherit', isUsed: true }],
|
||||||
|
triggers: [],
|
||||||
|
connections: { source: { pathUUID: item.modeluuid, pointUUID: middlePointUUID }, targets: [] },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
uuid: point2UUID,
|
||||||
|
position: [point2Position.x, point2Position.y, point2Position.z],
|
||||||
|
rotation: [0, 0, 0],
|
||||||
|
actions: [{ uuid: THREE.MathUtils.generateUUID(), name: 'Action 1', type: 'Inherit', material: 'Inherit', delay: 'Inherit', spawnInterval: 'Inherit', isUsed: true }],
|
||||||
|
triggers: [],
|
||||||
|
connections: { source: { pathUUID: item.modeluuid, pointUUID: point2UUID }, targets: [] },
|
||||||
|
},
|
||||||
|
],
|
||||||
position: [...item.position],
|
position: [...item.position],
|
||||||
rotation: [item.rotation.x, item.rotation.y, item.rotation.z],
|
rotation: [item.rotation.x, item.rotation.y, item.rotation.z],
|
||||||
speed: item.eventData.speed,
|
speed: 'Inherit',
|
||||||
};
|
};
|
||||||
|
|
||||||
newPaths.push(newPath);
|
newPaths.push(newPath);
|
||||||
|
@ -48,6 +81,7 @@ function Behaviour() {
|
||||||
|
|
||||||
setSimulationPaths(newPaths);
|
setSimulationPaths(newPaths);
|
||||||
}, [floorItems]);
|
}, [floorItems]);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue