Refactor editor scene document ownership into runtime coordinator
This commit is contained in:
@@ -38,13 +38,12 @@ public:
|
||||
|
||||
void Reset();
|
||||
void SetBackend(std::unique_ptr<EditorSceneBackend> backend);
|
||||
bool Initialize(const std::filesystem::path& projectRoot);
|
||||
EditorStartupSceneResult Initialize(const std::filesystem::path& projectRoot);
|
||||
void BindSelectionService(EditorSelectionService* selectionService);
|
||||
|
||||
void RefreshScene();
|
||||
void EnsureSceneSelection();
|
||||
|
||||
const EditorStartupSceneResult& GetStartupResult() const;
|
||||
EditorSceneHierarchySnapshot BuildHierarchySnapshot() const;
|
||||
std::vector<EditorSceneViewportIconSnapshot> BuildSceneViewportIconSnapshots() const;
|
||||
std::optional<EditorSceneViewportSelectionSnapshot> BuildSceneViewportSelectionSnapshot() const;
|
||||
@@ -67,6 +66,7 @@ public:
|
||||
bool OpenSceneAsset(const std::filesystem::path& scenePath);
|
||||
bool SaveScene(const std::filesystem::path& scenePath);
|
||||
::XCEngine::Components::Scene* GetActiveScene() const;
|
||||
std::string GetActiveSceneName() const;
|
||||
std::unique_ptr<EditorScenePlaySession> BeginPlaySession();
|
||||
|
||||
bool RenameGameObject(
|
||||
@@ -139,7 +139,6 @@ private:
|
||||
|
||||
std::filesystem::path m_projectRoot = {};
|
||||
std::unique_ptr<EditorSceneBackend> m_backend = {};
|
||||
EditorStartupSceneResult m_startupSceneResult = {};
|
||||
EditorSelectionService m_ownedSelectionService = {};
|
||||
EditorSelectionService* m_selectionService = &m_ownedSelectionService;
|
||||
std::vector<TransformEditTransaction> m_transformUndoStack = {};
|
||||
|
||||
Reference in New Issue
Block a user