Refactor new editor scene viewport tools
This commit is contained in:
@@ -12,7 +12,9 @@ namespace XCEngine::UI::Editor::App {
|
||||
void EditorShellRuntime::Initialize(
|
||||
const std::filesystem::path& repoRoot,
|
||||
Host::NativeRenderer& renderer) {
|
||||
m_nativeRenderer = &renderer;
|
||||
m_builtInIcons.Initialize(renderer);
|
||||
m_sceneViewportController.Initialize(repoRoot, renderer);
|
||||
m_hierarchyPanel.SetBuiltInIcons(&m_builtInIcons);
|
||||
m_projectPanel.SetBuiltInIcons(&m_builtInIcons);
|
||||
m_projectPanel.SetTextMeasurer(&renderer);
|
||||
@@ -37,8 +39,15 @@ void EditorShellRuntime::Shutdown() {
|
||||
m_shellInteractionState = {};
|
||||
m_splitterDragCorrectionState = {};
|
||||
m_traceEntries.clear();
|
||||
m_sceneEditCommandRoute = {};
|
||||
if (m_nativeRenderer != nullptr) {
|
||||
m_sceneViewportController.Shutdown(*m_nativeRenderer);
|
||||
m_builtInIcons.Shutdown();
|
||||
m_nativeRenderer = nullptr;
|
||||
} else {
|
||||
m_builtInIcons.Shutdown();
|
||||
}
|
||||
m_viewportHostService.Shutdown();
|
||||
m_builtInIcons.Shutdown();
|
||||
}
|
||||
|
||||
void EditorShellRuntime::ResetInteractionState() {
|
||||
@@ -46,6 +55,7 @@ void EditorShellRuntime::ResetInteractionState() {
|
||||
m_shellInteractionState = {};
|
||||
m_splitterDragCorrectionState = {};
|
||||
m_traceEntries.clear();
|
||||
m_sceneViewportController.ResetInteractionState();
|
||||
m_hierarchyPanel.ResetInteractionState();
|
||||
m_projectPanel.ResetInteractionState();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user