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();
        }
    }
}
