/**<summary>Constructs the default object.</summary>*/
 internal Attraction(ObjectDataHeader objectHeader, ChunkHeader chunkHeader)
     : base(objectHeader, chunkHeader)
 {
     Header         = new AttractionHeader();
     CarColors      = new List <RemapColors[]>();
     RiderPositions = new List <byte[]>();
 }
        /**<summary>Gets the subtype of the object.</summary>*/
        public static ObjectSubtypes ReadSubtype(BinaryReader reader)
        {
            AttractionHeader header = new AttractionHeader();

            header.Read(reader);
            if (header.RideCategory == RideCategories.Stall)
            {
                return(ObjectSubtypes.Stall);
            }
            else if (header.RideCategory == RideCategories.Transport)
            {
                return(ObjectSubtypes.TransportRide);
            }
            else if (header.RideCategory == RideCategories.Gentle)
            {
                return(ObjectSubtypes.GentleRide);
            }
            else if (header.RideCategory == RideCategories.Rollercoaster)
            {
                return(ObjectSubtypes.Rollercoaster);
            }
            else if (header.RideCategory == RideCategories.Thrill)
            {
                return(ObjectSubtypes.ThrillRide);
            }
            else if (header.RideCategory == RideCategories.Water)
            {
                return(ObjectSubtypes.WaterRide);
            }
            return(ObjectSubtypes.Basic);
        }
        //========= CONSTRUCTORS =========
        #region Constructors

        /**<summary>Constructs the default object.</summary>*/
        public Attraction() : base()
        {
            Header         = new AttractionHeader();
            CarColors      = new List <RemapColors[]>();
            RiderPositions = new List <byte[]>();
        }