new_editor: isolate project panel state and harden runtime reset
This commit is contained in:
@@ -170,15 +170,22 @@ std::string_view GetSceneToolInteractionLockName(SceneToolInteractionLock lock)
|
||||
}
|
||||
}
|
||||
|
||||
bool EditorSceneRuntime::Initialize(const std::filesystem::path& projectRoot) {
|
||||
m_projectRoot = projectRoot;
|
||||
m_ownedSelectionService = {};
|
||||
void EditorSceneRuntime::Reset() {
|
||||
m_projectRoot.clear();
|
||||
m_startupSceneResult = {};
|
||||
m_ownedSelectionService.ClearSelection();
|
||||
m_selectionService = &m_ownedSelectionService;
|
||||
m_sceneViewCamera = {};
|
||||
m_toolState = {};
|
||||
ResetTransformEditHistory();
|
||||
m_inspectorRevision = 0u;
|
||||
}
|
||||
|
||||
bool EditorSceneRuntime::Initialize(const std::filesystem::path& projectRoot) {
|
||||
Reset();
|
||||
m_projectRoot = projectRoot;
|
||||
m_startupSceneResult = EnsureEditorStartupScene(projectRoot);
|
||||
EnsureSceneViewCamera();
|
||||
ResetTransformEditHistory();
|
||||
m_toolState = {};
|
||||
RefreshScene();
|
||||
return m_startupSceneResult.ready;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user