public RCT2RideFeatures(RCT2RideFeatures copy)
        {
            StraightFlat    = copy.StraightFlat;
            StationPlatform = copy.StationPlatform;
            LiftChain       = copy.LiftChain;
            SteepLiftChain  = copy.SteepLiftChain;
            CurveLiftChain  = copy.CurveLiftChain;
            Banking         = copy.Banking;
            VerticalLoop    = copy.VerticalLoop;

            NormalSlope       = copy.NormalSlope;
            SteepSlope        = copy.SteepSlope;
            FlatToSteep       = copy.FlatToSteep;
            SlopedCurves      = copy.SlopedCurves;
            SteepTwist        = copy.SteepTwist;
            SBends            = copy.SBends;
            SmallRadiusCurves = copy.SmallRadiusCurves;
            SmallRadiusBanked = copy.SmallRadiusBanked;

            MediumRadiusCurves = copy.MediumRadiusCurves;
            InlineTwist        = copy.InlineTwist;
            HalfLoop           = copy.HalfLoop;
            HalfCorkscrew      = copy.HalfCorkscrew;
            TowerBaseVertical  = copy.TowerBaseVertical;
            HelixBanked        = copy.HelixBanked;
            HelixUnbanked      = copy.HelixUnbanked;

            Brakes           = copy.Brakes;
            Booster          = copy.Booster;
            OnRidePhoto      = copy.OnRidePhoto;
            WaterSplash      = copy.WaterSplash;
            VerticalTrack    = copy.VerticalTrack;
            BarrelRoll       = copy.BarrelRoll;
            LaunchedLiftHill = copy.LaunchedLiftHill;
            LargeHalfLoop    = copy.LargeHalfLoop;
        }
Example #2
0
        public RCT2RideData(RCT2RideData copy)
        {
            if (copy.TrackType != null)
            {
                TrackType = new RCT2RideCode(copy.TrackType);
            }
            else
            {
                TrackType = new RCT2RideCode();
            }

            if (copy.TrackData != null)
            {
                TrackData = new RCT2TrackData(copy.TrackData);
            }
            else
            {
                TrackData = new RCT2TrackData();
            }

            if (copy.RideFeatures != null)
            {
                RideFeatures = new RCT2RideFeatures(copy.RideFeatures);
            }
            else
            {
                RideFeatures = new RCT2RideFeatures();
            }
            OperatingMode = copy.OperatingMode;
            if (copy.ColourScheme != null)
            {
                ColourScheme = new RCT2VehicleColourScheme(copy.ColourScheme);
            }
            else
            {
                ColourScheme = new RCT2VehicleColourScheme();
            }
            EntranceStyle    = copy.EntranceStyle;
            AirTimeInSeconds = copy.AirTimeInSeconds;
            if (copy.DepartureFlags != null)
            {
                DepartureFlags = new RCT2DepartureControlFlags(copy.DepartureFlags);
            }
            else
            {
                DepartureFlags = new RCT2DepartureControlFlags();
            }
            NumberOfTrains            = copy.NumberOfTrains;
            NumberOfCarsPerTrain      = copy.NumberOfCarsPerTrain;
            MinWaitTimeInSeconds      = copy.MinWaitTimeInSeconds;
            MaxWaitTimeInSeconds      = copy.MaxWaitTimeInSeconds;
            SpeedOfPoweredLaunch      = copy.SpeedOfPoweredLaunch;
            NumberOfGoKartLaps        = copy.NumberOfGoKartLaps;
            MaxNumberOfPeopleMaze     = copy.MaxNumberOfPeopleMaze;
            MaxSpeedOfRide            = copy.MaxSpeedOfRide;
            AverageSpeedOfRide        = copy.AverageSpeedOfRide;
            RideLengthInMetres        = copy.RideLengthInMetres;
            PosGForce                 = copy.PosGForce;
            NegGForce                 = copy.NegGForce;
            LatGForce                 = copy.LatGForce;
            NumberOfInversions        = copy.NumberOfInversions;
            NumberOfDrops             = copy.NumberOfDrops;
            HighestDrop               = copy.HighestDrop;
            ExcitementTimesTen        = copy.ExcitementTimesTen;
            IntensityTimesTen         = copy.IntensityTimesTen;
            NauseaTimesTen            = copy.NauseaTimesTen;
            TrackMainColour           = copy.TrackMainColour;
            TrackMainColourAlt1       = copy.TrackMainColourAlt1;
            TrackMainColourAlt2       = copy.TrackMainColourAlt2;
            TrackMainColourAlt3       = copy.TrackMainColourAlt3;
            TrackAdditionalColour     = copy.TrackAdditionalColour;
            TrackAdditionalColourAlt1 = copy.TrackAdditionalColourAlt1;
            TrackAdditionalColourAlt2 = copy.TrackAdditionalColourAlt2;
            TrackAdditionalColourAlt3 = copy.TrackAdditionalColourAlt3;
            TrackSupportColour        = copy.TrackSupportColour;
            TrackSupportColourAlt1    = copy.TrackSupportColourAlt1;
            TrackSupportColourAlt2    = copy.TrackSupportColourAlt2;
            TrackSupportColourAlt3    = copy.TrackSupportColourAlt3;
            IsSixFlagsDesign          = copy.IsSixFlagsDesign;
            if (copy.DatFile != null)
            {
                DatFile = new DATFileHeader(copy.DatFile);
            }
            else
            {
                DatFile = new DATFileHeader();
            }
            if (copy.RequiredMapSpace != null)
            {
                RequiredMapSpace = new Vector2(copy.RequiredMapSpace);
            }
            else
            {
                RequiredMapSpace = new Vector2(0, 0);
            }
            LiftChainSpeed   = copy.LiftChainSpeed;
            NumberOfCircuits = copy.NumberOfCircuits;
        }