public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 ); // version

			writer.Write( (int) m_Charges );
            writer.Write(LaunchID);
            writer.Write(LaunchHue);
            writer.Write(LaunchSpeed);
            writer.WriteFlag(LaunchRender);
            writer.Write(LaunchSound);
            writer.Write(LaunchRangeMin);
            writer.Write(LaunchRangeMax);
            writer.Write(LaunchHeightMin);
            writer.Write(LaunchHeightMax);

            writer.Write(TrailID);
            writer.Write(TrailHue);
            writer.Write(TrailSpeed);
            writer.Write(TrailDuration);
            writer.WriteFlag(TrailRender);
            writer.Write(TrailSound);

            writer.Write(ExplodeID);
            writer.Write(ExplodeHue);
            writer.Write(ExplodeSpeed);
            writer.Write(ExplodeDuration);
            writer.WriteFlag(ExplodeRender);
            writer.Write(ExplodeSound);

            writer.WriteFlag(StarsEffect);
            writer.Write(StarsHue);
            writer.Write(StarsSound);
            writer.Write(StarsRangeMin);
            writer.Write(StarsRangeMax);
            writer.WriteList(Stars, writer.Write);
            writer.WriteList(StarHues, writer.Write);
		}