Skip to content

Commit 79f19ad

Browse files
committed
feat: remove visibility component when there's no mesh or GLTF
1 parent daa4796 commit 79f19ad

3 files changed

Lines changed: 23 additions & 3 deletions

File tree

packages/@dcl/inspector/src/components/EntityInspector/GltfInspector/GltfInspector.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,18 @@ export default withSdk<Props>(({ sdk, entity }) => {
3030
)
3131

3232
const handleRemove = useCallback(async () => {
33+
const { VisibilityComponent, MeshCollider } = sdk.components
34+
const hasMeshCollider = MeshCollider.has(entity)
35+
const hasVisibility = VisibilityComponent.has(entity)
36+
3337
sdk.operations.removeComponent(entity, GltfContainer)
38+
39+
if (hasVisibility && !hasMeshCollider) {
40+
sdk.operations.removeComponent(entity, VisibilityComponent)
41+
}
42+
3443
await sdk.operations.dispatch()
35-
}, [])
44+
}, [sdk, entity])
3645

3746
const handleDrop = useCallback(async (src: string) => {
3847
const { operations } = sdk

packages/@dcl/inspector/src/components/EntityInspector/MeshColliderInspector/MeshColliderInspector.tsx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,20 @@ export default withSdk<Props>(({ sdk, entity }) => {
1919
const { getInputProps } = useComponentInput(entity, MeshCollider, fromMeshCollider, toMeshCollider, isValidInput)
2020

2121
const handleRemove = useCallback(async () => {
22+
const { VisibilityComponent, GltfContainer } = sdk.components
23+
const hasGltfContainer = GltfContainer.has(entity)
24+
const hasVisibility = VisibilityComponent.has(entity)
25+
26+
// Borrar MeshCollider
2227
sdk.operations.removeComponent(entity, MeshCollider)
28+
29+
// Si se borra mesh: fijarse si hay GLTF, si NO hay borrar visibility
30+
if (hasVisibility && !hasGltfContainer) {
31+
sdk.operations.removeComponent(entity, VisibilityComponent)
32+
}
33+
2334
await sdk.operations.dispatch()
24-
}, [])
35+
}, [sdk, entity])
2536

2637
if (!hasMeshCollider) return null
2738

packages/@dcl/inspector/src/components/EntityInspector/VisibilityComponentInspector/VisibilityComponentInspector.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ export default withSdk<Props>(({ sdk, entity }) => {
100100
)
101101
}, [])
102102

103-
if (!hasVisibilityComponent || (!hasGltfContainer && !hasMeshCollider)) return null
103+
if (!hasVisibilityComponent) return null
104104

105105
return (
106106
<Container label="Visibility" className={cx('VisibilityContainer')} onRemoveContainer={handleRemove}>

0 commit comments

Comments
 (0)