62 lines
1.5 KiB
C#
62 lines
1.5 KiB
C#
using LiteNetLib.Utils;
|
|
|
|
using Engine.Core;
|
|
|
|
namespace Engine.Systems.Network.Packers;
|
|
|
|
internal static class Matrix4x4NetPacker
|
|
{
|
|
internal static void Write(NetDataWriter writer, Matrix4x4 data)
|
|
{
|
|
writer.Put(data.M11);
|
|
writer.Put(data.M12);
|
|
writer.Put(data.M13);
|
|
writer.Put(data.M14);
|
|
|
|
writer.Put(data.M21);
|
|
writer.Put(data.M22);
|
|
writer.Put(data.M23);
|
|
writer.Put(data.M24);
|
|
|
|
writer.Put(data.M31);
|
|
writer.Put(data.M32);
|
|
writer.Put(data.M33);
|
|
writer.Put(data.M34);
|
|
|
|
writer.Put(data.M41);
|
|
writer.Put(data.M42);
|
|
writer.Put(data.M43);
|
|
writer.Put(data.M44);
|
|
}
|
|
|
|
internal static Matrix4x4 Read(NetDataReader reader)
|
|
{
|
|
float m11 = reader.GetFloat();
|
|
float m12 = reader.GetFloat();
|
|
float m13 = reader.GetFloat();
|
|
float m14 = reader.GetFloat();
|
|
|
|
float m21 = reader.GetFloat();
|
|
float m22 = reader.GetFloat();
|
|
float m23 = reader.GetFloat();
|
|
float m24 = reader.GetFloat();
|
|
|
|
float m31 = reader.GetFloat();
|
|
float m32 = reader.GetFloat();
|
|
float m33 = reader.GetFloat();
|
|
float m34 = reader.GetFloat();
|
|
|
|
float m41 = reader.GetFloat();
|
|
float m42 = reader.GetFloat();
|
|
float m43 = reader.GetFloat();
|
|
float m44 = reader.GetFloat();
|
|
|
|
return new Matrix4x4(
|
|
m11, m12, m13, m14,
|
|
m21, m22, m23, m24,
|
|
m31, m32, m33, m34,
|
|
m41, m42, m43, m44
|
|
);
|
|
}
|
|
}
|