void addComponentPopup(any@ data) { Entity entity; data.retrieve(entity); titleCenter("Component"); separator(); menuSpace("Rendering", any(entity), addComponentRendering ); if (menuItem("Script Component")) { } } void addComponentRendering(any@ data) { Entity entity; data.retrieve(entity); if (entity.hasMeshComponent()) { menuItemDisabled("Mesh Render Component"); } else { if (menuItem("Mesh Render Component")) { entity.createMeshComponent(); } } if (entity.hasShaderComponent()) { menuItemDisabled("Shader Render Component"); } else { if (menuItem("Shader Render Component")) { entity.createShaderComponent(); } } if (entity.hasCameraComponent()) { menuItemDisabled("Camera Component"); } else { if (menuItem("Camera Component")) { entity.createCameraComponent(); } } }