From 2deb0050be5730365b0a1e902930065dbb049f78 Mon Sep 17 00:00:00 2001 From: scawful Date: Wed, 20 Nov 2024 09:52:54 -0500 Subject: [PATCH] Refactor EditorContext and system managers for improved clarity and consistency --- src/app/editor/editor.h | 22 +++++++++++----------- src/app/editor/system/command_manager.h | 3 +++ src/app/editor/system/resource_manager.h | 4 ++-- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/app/editor/editor.h b/src/app/editor/editor.h index b6d6ccf6..685b487b 100644 --- a/src/app/editor/editor.h +++ b/src/app/editor/editor.h @@ -20,11 +20,11 @@ namespace app { namespace editor { struct EditorContext { - static ConstantManager constant_manager; - static CommandManager command_manager; - static ExtensionManager extension_manager; - static HistoryManager history_manager; - static ResourceManager resource_manager; + ConstantManager constant_manager; + CommandManager command_manager; + ExtensionManager extension_manager; + HistoryManager history_manager; + ResourceManager resource_manager; }; enum class EditorType { @@ -52,7 +52,7 @@ constexpr std::array kEditorNames = { * Provides basic editing operations that each editor should implement. */ class Editor { -public: + public: Editor() = default; virtual ~Editor() = default; @@ -69,7 +69,7 @@ public: EditorType type() const { return type_; } -protected: + protected: EditorType type_; EditorContext context_; }; @@ -98,8 +98,8 @@ typedef struct EditorLayoutParams { absl::Status DrawEditor(EditorLayoutParams *params); -} // namespace editor -} // namespace app -} // namespace yaze +} // namespace editor +} // namespace app +} // namespace yaze -#endif // YAZE_APP_CORE_EDITOR_H +#endif // YAZE_APP_CORE_EDITOR_H diff --git a/src/app/editor/system/command_manager.h b/src/app/editor/system/command_manager.h index 1e0ce6fe..c6dd7036 100644 --- a/src/app/editor/system/command_manager.h +++ b/src/app/editor/system/command_manager.h @@ -15,6 +15,9 @@ ImGuiKey MapKeyToImGuiKey(char key); class CommandManager { public: + CommandManager() = default; + ~CommandManager() = default; + using Command = std::function; struct CommandInfo { diff --git a/src/app/editor/system/resource_manager.h b/src/app/editor/system/resource_manager.h index dee31d2c..116ef9e4 100644 --- a/src/app/editor/system/resource_manager.h +++ b/src/app/editor/system/resource_manager.h @@ -10,8 +10,8 @@ namespace editor { // System resource manager. class ResourceManager { public: - ResourceManager(); - ~ResourceManager(); + ResourceManager() : count_(0) {} + ~ResourceManager() = default; void Load(const char* path); void Unload(const char* path);