public void Write(BrgBinaryWriter writer)
{
writer.Write(this.Id);
writer.Write((int)this.Flags);
writer.Write(this.unknown01b);
writer.Write(Encoding.UTF8.GetByteCount(this.DiffuseMap));
writer.WriteColor3D(this.DiffuseColor);
writer.WriteColor3D(this.AmbientColor);
writer.WriteColor3D(this.SpecularColor);
writer.WriteColor3D(this.EmissiveColor);
writer.WriteString(this.DiffuseMap, 0);
if (this.Flags.HasFlag(BrgMatFlag.SpecularExponent))
{
writer.Write(this.SpecularExponent);
}
if (this.Flags.HasFlag(BrgMatFlag.BumpMap))
{
writer.WriteString(this.BumpMap, 4);
}
if (this.Flags.HasFlag(BrgMatFlag.Alpha))
{
writer.Write(this.Opacity);
}
if (this.Flags.HasFlag(BrgMatFlag.REFLECTIONTEXTURE))
{
writer.Write((byte)this.sfx.Count);
for (int i = 0; i < this.sfx.Count; i++)
{
writer.Write(this.sfx[i].Id);
writer.WriteString(this.sfx[i].Name, 2);
}
}
}