feat: Implement deletable event sphere management and refactor point instances for better event handling
This commit is contained in:
@@ -16,11 +16,11 @@ interface ConnectionLine {
|
||||
}
|
||||
|
||||
export function Arrows({ connections }: { readonly connections: ConnectionLine[] }) {
|
||||
const [hoveredLineKey, setHoveredLineKey] = useState<string | null>(null);
|
||||
const [hoveredArrowTrigger, setHoveredArrowTrigger] = useState<string | null>(null);
|
||||
const groupRef = useRef<THREE.Group>(null);
|
||||
const { scene } = useThree();
|
||||
const { toolMode } = useToolMode();
|
||||
const { eventStore, productStore } = useSceneContext();
|
||||
const { productStore } = useSceneContext();
|
||||
const { removeTrigger } = productStore();
|
||||
const { selectedVersionStore } = useVersionContext();
|
||||
const { selectedVersion } = selectedVersionStore();
|
||||
@@ -103,15 +103,15 @@ export function Arrows({ connections }: { readonly connections: ConnectionLine[]
|
||||
return (
|
||||
<group
|
||||
key={key}
|
||||
onPointerOver={() => setHoveredLineKey(trigger.triggerUuid)}
|
||||
onPointerOut={() => setHoveredLineKey(null)}
|
||||
onPointerOver={() => setHoveredArrowTrigger(trigger.triggerUuid)}
|
||||
onPointerOut={() => setHoveredArrowTrigger(null)}
|
||||
onClick={() => { removeConnection(trigger) }}
|
||||
>
|
||||
<mesh
|
||||
geometry={shaftGeometry}
|
||||
>
|
||||
<meshStandardMaterial
|
||||
color={toolMode === '3D-Delete' && hoveredLineKey === trigger.triggerUuid ? "red" : "#42a5f5"}
|
||||
color={toolMode === '3D-Delete' && hoveredArrowTrigger === trigger.triggerUuid ? "red" : "#42a5f5"}
|
||||
/>
|
||||
</mesh>
|
||||
<mesh
|
||||
@@ -120,7 +120,7 @@ export function Arrows({ connections }: { readonly connections: ConnectionLine[]
|
||||
geometry={headGeometry}
|
||||
>
|
||||
<meshStandardMaterial
|
||||
color={toolMode === '3D-Delete' && hoveredLineKey === trigger.triggerUuid ? "red" : "#42a5f5"}
|
||||
color={toolMode === '3D-Delete' && hoveredArrowTrigger === trigger.triggerUuid ? "red" : "#42a5f5"}
|
||||
/>
|
||||
</mesh>
|
||||
</group>
|
||||
|
||||
Reference in New Issue
Block a user