simulation and decal bug fix

This commit is contained in:
2025-09-01 11:42:24 +05:30
parent 9825c3ef12
commit 7d7100893c
4 changed files with 21 additions and 42 deletions

View File

@@ -218,13 +218,12 @@ export function useDecalEventHandlers({
const handlePointerDown = (e: ThreeEvent<MouseEvent>) => {
if (visible && !toggleView && activeModule === 'builder') {
if (e.object.userData.decalUuid && toolMode === 'cursor') {
if (e.object.userData.decalUuid && toolMode === 'cursor' && (selectedDecal && selectedDecal.decalData.decalUuid === decal.decalUuid)) {
e.stopPropagation();
setDecalDragState(true, decal.decalUuid, null);
if (controls) {
(controls as CameraControls).enabled = false;
}
setSelectedDecal({ decalMesh: e.object, decalData: decal });
setSelectedWall(null);
setSelectedFloor(null);
@@ -235,6 +234,14 @@ export function useDecalEventHandlers({
}
};
const handleDecalUp = (e: ThreeEvent<MouseEvent>) => {
if (visible && !toggleView && activeModule === 'builder') {
if (!decalDragState.isDragging && !selectedDecal && e.object.userData.decalUuid && toolMode === 'cursor') {
setSelectedDecal({ decalMesh: e.object, decalData: decal });
}
}
}
const handleClick = (e: ThreeEvent<MouseEvent>) => {
if (visible && !toggleView && activeModule === 'builder') {
if (e.object.userData.decalUuid) {
@@ -292,6 +299,7 @@ export function useDecalEventHandlers({
return {
handlePointerDown,
handleDecalUp,
handleClick,
handlePointerEnter,
handlePointerLeave,