// Copyright Epic Games, Inc. All Rights Reserved. #include "PersonaEditorModeManager.h" #include "IPersonaEditMode.h" #include "IPersonaPreviewScene.h" #include "Selection.h" #include "Animation/DebugSkelMeshComponent.h" bool FPersonaEditorModeManager::GetCameraTarget(FSphere& OutTarget) const { for (UEdMode* Mode : ActiveScriptableModes) { FEdMode* LegacyMode = Mode->AsLegacyMode(); if (IPersonaEditMode* EditMode = static_cast(LegacyMode)) { FSphere Target; if (EditMode->GetCameraTarget(Target)) { OutTarget = Target; return true; } } } return false; } void FPersonaEditorModeManager::GetOnScreenDebugInfo(TArray& OutDebugText) const { for (UEdMode* Mode : ActiveScriptableModes) { FEdMode* LegacyMode = Mode->AsLegacyMode(); if (IPersonaEditMode* EditMode = static_cast(LegacyMode)) { EditMode->GetOnScreenDebugInfo(OutDebugText); } } } void FPersonaEditorModeManager::SetPreviewScene(FPreviewScene* NewPreviewScene) { const IPersonaPreviewScene *PersonaPreviewScene = static_cast(NewPreviewScene); if (PersonaPreviewScene && PersonaPreviewScene->GetPreviewMeshComponent()) { ComponentSet->BeginBatchSelectOperation(); ComponentSet->DeselectAll(); ComponentSet->Select(PersonaPreviewScene->GetPreviewMeshComponent(), true); ComponentSet->EndBatchSelectOperation(); } FAssetEditorModeManager::SetPreviewScene(NewPreviewScene); }