2012-08-09 09:45:04 +00:00
|
|
|
using System;
|
2011-11-18 10:41:44 +00:00
|
|
|
using System.IO;
|
2012-10-10 16:07:28 +00:00
|
|
|
using ANX.Framework.NonXNA.Development;
|
2011-11-18 10:41:44 +00:00
|
|
|
|
2012-08-09 09:45:04 +00:00
|
|
|
// 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
|
|
|
|
{
|
2012-10-10 16:07:28 +00:00
|
|
|
[PercentageComplete(100)]
|
2012-10-14 12:17:15 +00:00
|
|
|
[Developer("AstrorEnales")]
|
|
|
|
[TestState(TestStateAttribute.TestState.Tested)]
|
2011-11-18 10:41:44 +00:00
|
|
|
public class PacketWriter : BinaryWriter
|
2011-11-16 15:00:54 +00:00
|
|
|
{
|
2012-10-10 16:07:28 +00:00
|
|
|
public int Length
|
|
|
|
{
|
|
|
|
get { return (int)BaseStream.Length; }
|
|
|
|
}
|
2011-11-18 10:41:44 +00:00
|
|
|
|
2012-10-10 16:07:28 +00:00
|
|
|
public int Position
|
|
|
|
{
|
|
|
|
get { return (int)BaseStream.Position; }
|
|
|
|
set { BaseStream.Position = value; }
|
|
|
|
}
|
2011-11-18 10:41:44 +00:00
|
|
|
|
2012-10-10 16:07:28 +00:00
|
|
|
public PacketWriter()
|
2011-11-18 10:41:44 +00:00
|
|
|
: 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
|
|
|
}
|
|
|
|
}
|