Refactor scene viewport state into local sessions
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include "Scene/SceneViewportTransformGizmoSupport.h"
|
||||
#include "Assets/EditorIconService.h"
|
||||
#include "Scene/EditorSceneRuntime.h"
|
||||
#include "Scene/SceneViewportSession.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <utility>
|
||||
@@ -27,10 +28,9 @@ bool ContainsPoint(const UIRect& rect, const UIPoint& point) {
|
||||
}
|
||||
|
||||
SceneViewportGizmoSupport::SceneViewportOverlayData BuildOverlayData(
|
||||
const EditorSceneRuntime& sceneRuntime) {
|
||||
const SceneViewportSession& session) {
|
||||
SceneViewportGizmoSupport::SceneViewportOverlayData overlay = {};
|
||||
const EditorSceneCameraSnapshot snapshot =
|
||||
sceneRuntime.BuildSceneViewCameraSnapshot();
|
||||
const EditorSceneCameraSnapshot snapshot = session.BuildCameraSnapshot();
|
||||
if (!snapshot.valid) {
|
||||
return overlay;
|
||||
}
|
||||
@@ -88,7 +88,8 @@ void SceneViewportSceneOverlay::ResetFrame() {
|
||||
}
|
||||
|
||||
void SceneViewportSceneOverlay::Refresh(
|
||||
EditorSceneRuntime& sceneRuntime,
|
||||
const EditorSceneRuntime& sceneRuntime,
|
||||
const SceneViewportSession& session,
|
||||
const UIRect& viewportRect) {
|
||||
m_frame = {};
|
||||
m_frame.clipRect = viewportRect;
|
||||
@@ -100,7 +101,7 @@ void SceneViewportSceneOverlay::Refresh(
|
||||
}
|
||||
|
||||
const SceneViewportGizmoSupport::SceneViewportOverlayData overlay =
|
||||
BuildOverlayData(sceneRuntime);
|
||||
BuildOverlayData(session);
|
||||
if (!overlay.valid) {
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user