Refactor action handling in simulation components for improved clarity and efficiency
This commit is contained in:
@@ -137,10 +137,11 @@ const CopyPasteControls3D = ({
|
||||
|
||||
if (hit && centerOffset) {
|
||||
pastedObjects.forEach((pastedObject: THREE.Object3D, index: number) => {
|
||||
const model = scene.getObjectByProperty("uuid", pastedObject.userData.modelUuid);
|
||||
if (!model) return;
|
||||
const newPos = new THREE.Vector3().addVectors(hit, relativePositions[index]);
|
||||
setPosition(pastedObject.userData.modelUuid, [newPos.x, 0, newPos.z]);
|
||||
model.position.set(newPos.x, 0, newPos.z);
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -204,7 +205,9 @@ const CopyPasteControls3D = ({
|
||||
if (pastedAsset) {
|
||||
const assetUuid = pastedAsset.userData.modelUuid;
|
||||
const asset = getAssetById(assetUuid);
|
||||
if (!asset) return;
|
||||
const model = scene.getObjectByProperty("uuid", pastedAsset.userData.modelUuid);
|
||||
if (!asset || !model) return;
|
||||
const position = new THREE.Vector3().copy(model.position);
|
||||
|
||||
const newFloorItem: Types.FloorItemType = {
|
||||
modelUuid: pastedAsset.userData.modelUuid,
|
||||
@@ -427,7 +430,7 @@ const CopyPasteControls3D = ({
|
||||
modelUuid: newFloorItem.modelUuid,
|
||||
modelName: newFloorItem.modelName,
|
||||
assetId: newFloorItem.assetId,
|
||||
position: newFloorItem.position,
|
||||
position: [position.x, 0, position.z],
|
||||
rotation: { x: pastedAsset.rotation.x, y: pastedAsset.rotation.y, z: pastedAsset.rotation.z },
|
||||
isLocked: false,
|
||||
isVisible: true,
|
||||
@@ -450,7 +453,7 @@ const CopyPasteControls3D = ({
|
||||
modelUuid: data.modelUuid,
|
||||
modelName: data.modelName,
|
||||
assetId: data.assetId,
|
||||
position: data.position,
|
||||
position: [position.x, 0, position.z],
|
||||
rotation: [data.rotation.x, data.rotation.y, data.rotation.z],
|
||||
isLocked: data.isLocked,
|
||||
isCollidable: false,
|
||||
@@ -466,7 +469,7 @@ const CopyPasteControls3D = ({
|
||||
modelUuid: newFloorItem.modelUuid,
|
||||
modelName: newFloorItem.modelName,
|
||||
assetId: newFloorItem.assetId,
|
||||
position: newFloorItem.position,
|
||||
position: [position.x, 0, position.z],
|
||||
rotation: { x: pastedAsset.rotation.x, y: pastedAsset.rotation.y, z: pastedAsset.rotation.z },
|
||||
isLocked: false,
|
||||
isVisible: true,
|
||||
@@ -482,7 +485,7 @@ const CopyPasteControls3D = ({
|
||||
modelUuid: data.modelUuid,
|
||||
modelName: data.modelName,
|
||||
assetId: data.assetId,
|
||||
position: data.position,
|
||||
position: [position.x, 0, position.z],
|
||||
rotation: [data.rotation.x, data.rotation.y, data.rotation.z],
|
||||
isLocked: data.isLocked,
|
||||
isCollidable: false,
|
||||
|
||||
Reference in New Issue
Block a user