Skip to content

Commit 9d1429d

Browse files
move value grab for camera to layout service
1 parent 57d69d0 commit 9d1429d

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

Meddle/Meddle.Plugin/Models/Layout/ParsedInstance.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -280,12 +280,11 @@ public class ParsedCameraInstance : ParsedInstance, ISearchableInstance
280280
public float AspectRatio { get; }
281281
public Quaternion Rotation { get; }
282282

283-
public unsafe ParsedCameraInstance(Pointer<Camera> camera, Transform transform) : base((nint)camera.Value, ParsedInstanceType.Camera, transform)
283+
public unsafe ParsedCameraInstance(nint id, Transform transform, float fov, float aspectRatio, Vector3 position, Vector3 lookAtVector) : base(id, ParsedInstanceType.Camera, transform)
284284
{
285-
FoV = camera.Value->RenderCamera->FoV;
286-
AspectRatio = camera.Value->RenderCamera->AspectRatio;
287-
288-
var rotation = CreateLookAt(camera.Value->Position, camera.Value->LookAtVector);
285+
FoV = fov;
286+
AspectRatio = aspectRatio;
287+
var rotation = CreateLookAt(position, lookAtVector);
289288
// flip the rotation for cameras
290289
rotation *= Quaternion.CreateFromAxisAngle(Vector3.UnitY, MathF.PI);
291290

Meddle/Meddle.Plugin/Services/LayoutService.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,14 @@ private unsafe ParsedCameraInstance[] ParseCameras()
101101
continue;
102102

103103
var camera = cameraPtr.Value;
104-
105-
var transform = new Transform(camera->Position, camera->Rotation, camera->Scale);
106104
if (camera->RenderCamera != null)
107-
{
108-
cameras.Add(new ParsedCameraInstance(camera, transform));
105+
{
106+
var transform = new Transform(camera->Position, camera->Rotation, camera->Scale);
107+
var fov = camera->RenderCamera->FoV;
108+
var aspectRatio = camera->RenderCamera->AspectRatio;
109+
var position = camera->Position;
110+
var lookAtVector = camera->LookAtVector;
111+
cameras.Add(new ParsedCameraInstance((nint)camera, transform, fov, aspectRatio, position, lookAtVector));
109112
}
110113
}
111114

0 commit comments

Comments
 (0)