Create ISceneManager interface and fix GetSceneManager return type

- Created ISceneManager interface with Editor需要的 SceneManager 方法
- SceneManager now implements ISceneManager
- IEditorContext::GetSceneManager() now returns ISceneManager& instead of void*
- Removed SceneManager::GetSceneManagerConcrete() method
- Updated HierarchyPanel and InspectorPanel to use ISceneManager interface
This commit is contained in:
2026-03-25 16:39:15 +08:00
parent 48d9e0a7d2
commit 605d086bcc
8 changed files with 193 additions and 194 deletions

View File

@@ -9,6 +9,7 @@ namespace Editor {
class EventBus;
class ISelectionManager;
class IProjectManager;
class ISceneManager;
class IEditorContext {
public:
@@ -16,7 +17,7 @@ public:
virtual EventBus& GetEventBus() = 0;
virtual ISelectionManager& GetSelectionManager() = 0;
virtual void* GetSceneManager() = 0;
virtual ISceneManager& GetSceneManager() = 0;
virtual IProjectManager& GetProjectManager() = 0;
virtual void SetProjectPath(const std::string& path) = 0;