Files
DebugVisualizerExtension/NrxVisualizerObjectSource/NrxVisualizerObjectSource.cs
T

43 lines
1.5 KiB
C#
Raw Normal View History

2026-04-01 12:46:48 +02:00
using Microsoft.VisualStudio.DebuggerVisualizers;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Numerics;
2026-04-02 10:09:10 +02:00
namespace NrxVisualizerObjectSource;
2026-04-01 12:46:48 +02:00
2026-04-02 10:09:10 +02:00
public class NrxVisualizerObjectSource : VisualizerObjectSource
2026-04-01 12:46:48 +02:00
{
2026-04-02 10:09:10 +02:00
public NrxVisualizerObjectSource()
2026-04-01 12:46:48 +02:00
{
Debug.WriteLine("new Vector3ObjectSource");
}
public override void GetData(object target, Stream outgoingData)
{
Debug.WriteLine("GetData: objectType is: " + target.GetType().FullName);
2026-04-01 12:46:48 +02:00
Vector3Model vector3Model = new();
switch (target)
{
case Vector3 vector3:
vector3Model.Vector3 = vector3;
2026-04-01 12:46:48 +02:00
break;
case IEnumerable<Vector3> vector3List:
vector3Model.Vector3 = vector3List.Last();
2026-04-01 12:46:48 +02:00
break;
case Quaternion quaternion:
vector3Model.Quaternion = quaternion;
2026-04-01 12:46:48 +02:00
break;
}
SerializeAsJson(outgoingData, vector3Model);
}
2026-04-02 10:09:10 +02:00
public override object CreateReplacementObject(object target, Stream incomingData)
{
2026-04-02 10:40:46 +02:00
Debug.WriteLine("CreateReplacementObject: objectType is: " + target.GetType().FullName);
2026-04-02 10:09:10 +02:00
return base.CreateReplacementObject(target, incomingData);
}
public override void TransferData(object target, Stream incomingData, Stream outgoingData)
{
2026-04-02 10:40:46 +02:00
Debug.WriteLine("TransferData: objectType is: " + target.GetType().FullName);
2026-04-02 10:09:10 +02:00
base.TransferData(target, incomingData, outgoingData);
}
2026-04-01 12:46:48 +02:00
}