diff --git a/Source/Editor/Viewport/Cameras/FPSCamera.cs b/Source/Editor/Viewport/Cameras/FPSCamera.cs
index 2e6f63a11..e60def838 100644
--- a/Source/Editor/Viewport/Cameras/FPSCamera.cs
+++ b/Source/Editor/Viewport/Cameras/FPSCamera.cs
@@ -89,6 +89,11 @@ namespace FlaxEditor.Viewport.Cameras
ShowSphere(ref sphere);
}
+ ///
+ /// Moves the viewport to visualize selected actors.
+ ///
+ /// The actors to show.
+ /// The used orientation.
public void ShowActor(Actor actor, ref Quaternion orientation)
{
Editor.GetActorEditorSphere(actor, out BoundingSphere sphere);
@@ -117,6 +122,11 @@ namespace FlaxEditor.Viewport.Cameras
ShowSphere(ref mergesSphere);
}
+ ///
+ /// Moves the viewport to visualize selected actors.
+ ///
+ /// The actors to show.
+ /// The used orientation.
public void ShowActors(List actors, ref Quaternion orientation)
{
if (actors.Count == 0)
diff --git a/Source/Editor/Viewport/EditorViewport.cs b/Source/Editor/Viewport/EditorViewport.cs
index c1a20286c..6fb97792a 100644
--- a/Source/Editor/Viewport/EditorViewport.cs
+++ b/Source/Editor/Viewport/EditorViewport.cs
@@ -542,13 +542,7 @@ namespace FlaxEditor.Viewport
if (_isOrtho)
{
var orient = ViewOrientation;
- if (!Editor.Instance.SceneEditing.HasSthSelected)
- {
- var pos = new Vector3(0.0f) + Vector3.Backward * ViewOrientation * 1000.0f;
- ((FPSCamera)ViewportCamera).MoveViewport(pos, ViewOrientation);
- }
- else
- ((FPSCamera)ViewportCamera).ShowActors(Editor.Instance.Windows.EditWin.Viewport.TransformGizmo.SelectedParents, ref orient);
+ OrientViewport(ref orient);
}
}
};
@@ -567,13 +561,7 @@ namespace FlaxEditor.Viewport
cameraView.ButtonClicked += button =>
{
var orient = Quaternion.Euler((Vector3)button.Tag);
- if (Editor.Instance.SceneEditing.HasSthSelected)
- ((FPSCamera)ViewportCamera).ShowActors(Editor.Instance.Windows.EditWin.Viewport.TransformGizmo.SelectedParents, ref orient);
- else
- {
- var pos = new Vector3(0.0f) + Vector3.Backward * orient * 2000.0f;
- ((FPSCamera)ViewportCamera).MoveViewport(pos, orient);
- }
+ OrientViewport(ref orient);
};
}
@@ -676,6 +664,19 @@ namespace FlaxEditor.Viewport
task.Begin += OnRenderBegin;
}
+ private void OrientViewport(ref Quaternion orientation)
+ {
+ if (Editor.Instance.SceneEditing.HasSthSelected)
+ {
+ ((FPSCamera)ViewportCamera).ShowActors(Editor.Instance.Windows.EditWin.Viewport.TransformGizmo.SelectedParents, ref orientation);
+ }
+ else
+ {
+ var pos = new Vector3(0.0f) + Vector3.Backward * orientation * 2000.0f;
+ ((FPSCamera)ViewportCamera).MoveViewport(pos, orientation);
+ }
+ }
+
private void OnEditorOptionsChanged(EditorOptions options)
{
_mouseSensitivity = options.Viewport.MouseSensitivity;