50 lines
1.2 KiB
C#
50 lines
1.2 KiB
C#
using System.IO;
|
|
using UnityEngine;
|
|
|
|
internal static class BinaryWriterExtensions
|
|
{
|
|
public static void Write(this BinaryWriter writer, OvrAvatarDriver.PoseFrame frame)
|
|
{
|
|
writer.Write(frame.headPosition);
|
|
writer.Write(frame.headRotation);
|
|
writer.Write(frame.handLeftPosition);
|
|
writer.Write(frame.handLeftRotation);
|
|
writer.Write(frame.handRightPosition);
|
|
writer.Write(frame.handRightRotation);
|
|
writer.Write(frame.voiceAmplitude);
|
|
writer.Write(frame.controllerLeftPose);
|
|
writer.Write(frame.controllerRightPose);
|
|
}
|
|
|
|
public static void Write(this BinaryWriter writer, Vector3 vec3)
|
|
{
|
|
writer.Write(vec3.x);
|
|
writer.Write(vec3.y);
|
|
writer.Write(vec3.z);
|
|
}
|
|
|
|
public static void Write(this BinaryWriter writer, Vector2 vec2)
|
|
{
|
|
writer.Write(vec2.x);
|
|
writer.Write(vec2.y);
|
|
}
|
|
|
|
public static void Write(this BinaryWriter writer, Quaternion quat)
|
|
{
|
|
writer.Write(quat.x);
|
|
writer.Write(quat.y);
|
|
writer.Write(quat.z);
|
|
writer.Write(quat.w);
|
|
}
|
|
|
|
public static void Write(this BinaryWriter writer, OvrAvatarDriver.ControllerPose pose)
|
|
{
|
|
writer.Write((uint)pose.buttons);
|
|
writer.Write((uint)pose.touches);
|
|
writer.Write(pose.joystickPosition);
|
|
writer.Write(pose.indexTrigger);
|
|
writer.Write(pose.handTrigger);
|
|
writer.Write(pose.isActive);
|
|
}
|
|
}
|