92 lines
1.8 KiB
C#
Raw Permalink Normal View History

using System;
using System.IO;
using ANX.Framework.NonXNA.Development;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
2011-11-16 15:00:54 +00:00
namespace ANX.Framework.Net
{
[PercentageComplete(100)]
[Developer("AstrorEnales")]
[TestState(TestStateAttribute.TestState.Tested)]
public class PacketWriter : BinaryWriter
2011-11-16 15:00:54 +00:00
{
public int Length
{
get { return (int)BaseStream.Length; }
}
public int Position
{
get { return (int)BaseStream.Position; }
set { BaseStream.Position = value; }
}
public PacketWriter()
: this(0)
{
}
public PacketWriter(int capacity)
: base(new MemoryStream(capacity))
{
}
public void Write(Vector2 value)
{
Write(value.X);
Write(value.Y);
}
public void Write(Vector3 value)
{
Write(value.X);
Write(value.Y);
Write(value.Z);
}
public void Write(Vector4 value)
{
Write(value.X);
Write(value.Y);
Write(value.Z);
Write(value.W);
}
public void Write(Matrix value)
{
Write(value.M11);
Write(value.M12);
Write(value.M13);
Write(value.M14);
Write(value.M21);
Write(value.M22);
Write(value.M23);
Write(value.M24);
Write(value.M31);
Write(value.M32);
Write(value.M33);
Write(value.M34);
Write(value.M41);
Write(value.M42);
Write(value.M43);
Write(value.M44);
}
public void Write(Quaternion value)
{
Write(value.X);
Write(value.Y);
Write(value.Z);
Write(value.W);
}
public void Write(Color value)
{
Write(value.PackedValue);
}
2011-11-16 15:00:54 +00:00
}
}