Files
DebugVisualizerExtension/NrxVisualizerObjectSource/NrxVisualizerObjectSource.cs
T
2026-04-02 11:05:33 +02:00

43 lines
1.5 KiB
C#

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