/// <summary>
        /// Constructor
        /// </summary>
        /// <param name="pg"></param>
        public SimEngine(PropertyGrid pg, Simulation simulationMain)
        {
            // create settings file
            this.settings = new SimEngineSettingsAccessor();

            // set main
            this.simulationMain = simulationMain;

            // create property grid
            this.propertyGrid = pg;
            this.propertyGrid.SelectedObject = this.settings;

            // create world service
            this.WorldService = new SimWorldService(this);

            // initialize held engine vehicles
            this.Vehicles = new Dictionary <SimVehicleId, SimVehicle>();

            this.stepMode  = false;
            this.stepEvent = new AutoResetEvent(false);
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="pg"></param>
        public SimEngine(PropertyGrid pg, Simulation simulationMain)
        {
            // create settings file
            this.settings = new SimEngineSettingsAccessor();

            // set main
            this.simulationMain = simulationMain;

            // create property grid
            this.propertyGrid = pg;
            this.propertyGrid.SelectedObject = this.settings;

            // create world service
            this.WorldService = new SimWorldService(this);

            // initialize held engine vehicles
            this.Vehicles = new Dictionary<SimVehicleId, SimVehicle>();

            this.stepMode = false;
            this.stepEvent = new AutoResetEvent(false);
        }