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 ); } }