aboutsummaryrefslogtreecommitdiff
path: root/src/brussel.engine/EditorCore.hpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2023-10-19 22:50:07 -0700
committerrtk0c <[email protected]>2025-08-16 11:31:16 -0700
commit297232d21594b138bb368a42b5b0d085ff9ed6aa (patch)
tree075d5407e1e12a9d35cbee6e4c20ad34e0765c42 /src/brussel.engine/EditorCore.hpp
parentd5cd34ff69f7fd134d5450696f298af1a864afbc (diff)
The great renaming: switch to "module style"
Diffstat (limited to 'src/brussel.engine/EditorCore.hpp')
-rw-r--r--src/brussel.engine/EditorCore.hpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/brussel.engine/EditorCore.hpp b/src/brussel.engine/EditorCore.hpp
new file mode 100644
index 0000000..726f43e
--- /dev/null
+++ b/src/brussel.engine/EditorCore.hpp
@@ -0,0 +1,39 @@
+#pragma once
+
+#include <memory>
+
+class App;
+class SpriteDefinition;
+
+class IEditorInspector {
+public:
+ enum TargetType {
+ ITT_GameObject,
+ ITT_Ires,
+ ITT_Level,
+ ITT_None,
+ };
+
+public:
+ virtual ~IEditorInspector() = default;
+ virtual void SelectTarget(TargetType type, void* object) = 0;
+};
+
+class IEditorContentBrowser {
+public:
+ virtual ~IEditorContentBrowser() = default;
+};
+
+class IEditor {
+public:
+ static std::unique_ptr<IEditor> CreateInstance(App* app);
+ virtual ~IEditor() = default;
+
+ virtual void OnGameStateChanged(bool running) = 0;
+ virtual void Show() = 0;
+
+ virtual IEditorInspector& GetInspector() = 0;
+ virtual IEditorContentBrowser& GetContentBrowser() = 0;
+
+ virtual void OpenSpriteViewer(SpriteDefinition* sprite) = 0;
+};