#pragma once #include "mm/services/service.hpp" #define MM_IEEE_ENTITY_WIDGET ::MM::ImGuiWidgets::Entity // evil #define MM_IEEE_ASSERT(x) #include #include //#include namespace MM::Services { class ImGuiSceneToolsService : public Service { public: bool enable(Engine& engine, std::vector& task_array) override; void disable(Engine& engine) override; const char* name(void) override { return "ImGuiSceneToolsService"; } private: bool _show_scene_metrics = false; bool _show_entity_editor = false; bool _show_entity_list = true; bool _show_camera_tool = false; bool _show_time_delta_ctx = false; EntityEditor _entity_editor; // for list std::set::ComponentTypeID> _entity_comp_list; //std::vector _text_editor_list; private: void renderImGui(Engine& engine); public: EntityEditor& getEntityEditor(void); Entity _e = entt::null; // entity currently in editor }; } // namespace MM::Services