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