public byte[] Serialize()
{
using (MemoryStream ms = new MemoryStream())
{
using (BinaryWriter bw = new BinaryWriter(ms))
{
bw.Write((uint)this.Flags);
bw.Write((uint)this.Shader);
bw.Write((uint)this.BlendMode);
bw.Write(this.FirstTextureOffset);
bw.WriteRGBA(this.FirstColour);
bw.Write((uint)this.FirstFlags);
bw.Write(this.SecondTextureOffset);
bw.WriteRGBA(this.SecondColour);
bw.Write((uint)this.GroundType.Value);
bw.Write(this.ThirdTextureOffset);
bw.WriteRGBA(this.BaseDiffuseColour);
bw.Write((uint)this.ThirdFlags);
bw.Write(this.RuntimeData1);
bw.Write(this.RuntimeData2);
bw.Write(this.RuntimeData3);
bw.Write(this.RuntimeData4);
}
return ms.ToArray();
}
}