class AddComponentRender { Entity entity; AddComponentRender(Entity _entity) { entity = _entity; } void addComponentPopup() { ImGui::subMenu( "Rendering", SimpleFunction(this.addComponentRendering) ); if (ImGui::menuItem("Script Component")) { ImGui::closePopup(); } } void addComponentRendering() { // Mesh if (entity.hasComponent()) { ImGui::menuItemDisabled("\uf248 Mesh Component"); } else { if (ImGui::menuItem("\uf248 Mesh Component")) { entity.addComponent(); ImGui::closePopup(); } } // Camera if (entity.hasComponent()) { ImGui::menuItemDisabled("\uf030 Camera Component"); } else { if (ImGui::menuItem("\uf030 Camera Component")) { entity.addComponent(); ImGui::closePopup(); } } } }