public void Write(Stream stream)
{
using (PrtBinaryWriter writer = new PrtBinaryWriter(new LittleEndianBitConverter(), stream))
{
writer.Write(this.Version);
this.Emitter.Write(writer);
this.Shape.Write(writer);
this.Appearance.Write(writer);
this.Opacity.Write(writer);
this.Scale.Write(writer);
this.Color.Write(writer);
this.Forces.Write(writer);
this.Collision.Write(writer);
writer.Write(this.BrgFileName);
for (int i = 0; i < this.Color.NumPaletteColors; i++)
{
writer.WriteTexel(this.Color.PaletteColors[i]);
}
for (int i = 0; i < this.Appearance.NumFiles; i++)
{
writer.Write(this.Appearance.AppearanceWeights[i]);
}
for (int i = 0; i < this.Appearance.NumFiles; i++)
{
writer.Write(this.Appearance.AppearanceFiles[i]);
}
for (int i = 0; i < this.Opacity.NumStages; i++)
{
this.Opacity.OpacityStages[i].Write(writer);
}
for (int i = 0; i < this.Scale.NumStages; i++)
{
this.Scale.ScaleStages[i].Write(writer);
}
for (int i = 0; i < this.Color.NumStages; i++)
{
this.Color.ColorStages[i].Write(writer);
}
for (int i = 0; i < this.Collision.NumTypes; i++)
{
this.Collision.CollisionTypes[i].Write(writer);
}
}
}