public override void UpdateProperties(Dictionary <Vehicle.eProperties, string> i_VehiclePropertiesValues, List <string> i_WheelsMakers, List <float> i_WheelsAirPressure) { base.UpdateProperties(i_VehiclePropertiesValues, i_WheelsMakers, i_WheelsAirPressure); DrivingLicenseType = StringToEnum <eDrivingLicenseType>(i_VehiclePropertiesValues[eProperties.LicenseType]); EngineVolume = int.Parse(i_VehiclePropertiesValues[eProperties.EngineVolume]); VehicleEngine.UpdateProperties(i_VehiclePropertiesValues, CurrentEnergyPercentage); }
public IEnumerator VehicleEngineSetStatusTest() { yield return(null); DisableLoops(); VehicleFactory vehicleFactory = (VehicleFactory)GameObject.FindObjectOfType(typeof(VehicleFactory)); Rigidbody vehicle = vehicleFactory.SpawnVehicle(vehicleFactory.GetRandomVehicle(), vehicleFactory.GetRandomUnusedPath()); VehicleEngine vehicleEngine = vehicle.GetComponent <VehicleEngine>(); vehicleEngine.SetEngineStatus(VehicleEngine.EngineStatus.ACCELERATE); Assert.AreEqual(0, vehicleEngine.wheelColliderFrontLeft.brakeTorque); Assert.AreEqual(0, vehicleEngine.wheelColliderFrontRight.brakeTorque); Assert.AreEqual(vehicleEngine.currentMotorTorque, vehicleEngine.wheelColliderFrontLeft.motorTorque); Assert.AreEqual(vehicleEngine.currentMotorTorque, vehicleEngine.wheelColliderFrontRight.motorTorque); vehicleEngine.SetEngineStatus(VehicleEngine.EngineStatus.STOP); Assert.AreEqual(vehicleEngine.normalBrakeTorque, vehicleEngine.wheelColliderFrontLeft.brakeTorque); Assert.AreEqual(vehicleEngine.normalBrakeTorque, vehicleEngine.wheelColliderFrontRight.brakeTorque); Assert.AreEqual(0, vehicleEngine.wheelColliderFrontLeft.motorTorque); Assert.AreEqual(0, vehicleEngine.wheelColliderFrontRight.motorTorque); vehicleEngine.SetEngineStatus(VehicleEngine.EngineStatus.HARD_STOP); Assert.AreEqual(vehicleEngine.maxBrakeTorque, vehicleEngine.wheelColliderFrontLeft.brakeTorque); Assert.AreEqual(vehicleEngine.maxBrakeTorque, vehicleEngine.wheelColliderFrontRight.brakeTorque); Assert.AreEqual(0, vehicleEngine.wheelColliderFrontLeft.motorTorque); Assert.AreEqual(0, vehicleEngine.wheelColliderFrontRight.motorTorque); }
public void UpdateProductsList() { try { Products.Clear(); Manufacturers.Clear(); VehicleEngine vehicleEngine = UserConfiguration.GetUserConfiguration().SelectedVehicleEngine; Category category = UserConfiguration.GetUserConfiguration().SelectedCategory; if (vehicleEngine != null && category != null) { try { vehiclePart = storeService.VehiclePartService.GetVehiclePart( vehicleEngine, category); FillProducts(storeService.ProductService.GetProductsByVehiclePart(vehiclePart)); NotifyPropertyChanged("Products"); } catch (Exception e) { WindowProvider.NotifyWindow(e.Message); } } else { WindowProvider.NotifyWindow("Автомобиль не выбран"); } } catch (Exception e) { WindowProvider.NotifyWindow(e.Message); } }
public void FillVehicleByEngine(VehicleEngine vehicleEngine) { FillVehicleBrands(); SelectedVehicleBrand = vehicleEngine.VehicleModification.VehicleBrand; SelectedVehicleModification = vehicleEngine.VehicleModification; SelectedVehicleEngine = vehicleEngine; }
public override string ToString() { StringBuilder vehicleDetails = new StringBuilder(); List <Wheel> wheelsDetails = VehicleWheels; vehicleDetails.Append(string.Format("License Plate: {0}{1}", LicensePlate, Environment.NewLine)); vehicleDetails.Append(string.Format("Vehicle Model: {0}{1}", Model, Environment.NewLine)); int wheelNum = 1; foreach (Wheel wheel in wheelsDetails) { vehicleDetails.Append(string.Format("Wheel Number {0}: {1}{2}", wheelNum, wheel.ToString(), Environment.NewLine)); ++wheelNum; } if (VehicleEngine is GasEngine) { vehicleDetails.Append(VehicleEngine.ToString()); vehicleDetails.Append(Environment.NewLine); } vehicleDetails.Append(string.Format("Current Energy Percentage: {0}", CurrentEnergyPercentage)); vehicleDetails.Append(Environment.NewLine); return(vehicleDetails.ToString()); }
private void FillVehicleEngine() { vehicleEngines.Clear(); vehicleEngineVolumes.Clear(); vehicleEngineModifications.Clear(); vehicleEnginePowers.Clear(); vehicleEngineModelCodes.Clear(); vehicleEngineReleaseStarts.Clear(); vehicleEngineReleaseEnds.Clear(); if (selectedVehicleModification != null) { foreach (VehicleEngine vehicleEngine in vehicleAccess.GetAllVehicleModelEngines(selectedVehicleModification)) { vehicleEngines.Add(vehicleEngine); vehicleEngineVolumes.Add(vehicleEngine.Power); vehicleEngineModifications.Add(vehicleEngine.Modification); vehicleEnginePowers.Add(vehicleEngine.Power); vehicleEngineModelCodes.Add(vehicleEngine.ModelCode); vehicleEngineReleaseStarts.Add(vehicleEngine.ReleaseStart); vehicleEngineReleaseEnds.Add(vehicleEngine.ReleaseEnd); } } if (vehicleEngines.Count == 0) { selectedVehicleEngine = new VehicleEngine(); } }
public override void UpdateProperties(Dictionary <Vehicle.eProperties, string> i_VehiclePropertiesValues, List <string> i_WheelsMakers, List <float> i_WheelsAirPressure) { base.UpdateProperties(i_VehiclePropertiesValues, i_WheelsMakers, i_WheelsAirPressure); ContainDangerousMaterials = i_VehiclePropertiesValues[eProperties.IsDangerousMaterials].Equals('Y') ? true : false; CargoVolume = float.Parse(i_VehiclePropertiesValues[eProperties.CargoVolume]); VehicleEngine.UpdateProperties(i_VehiclePropertiesValues, CurrentEnergyPercentage); }
public override void UpdateProperties(Dictionary <Vehicle.eProperties, string> i_VehiclePropertiesValues, List <string> i_WheelsMakers, List <float> i_WheelsAirPressure) { base.UpdateProperties(i_VehiclePropertiesValues, i_WheelsMakers, i_WheelsAirPressure); CarColor = StringToEnum <eCarColors>(i_VehiclePropertiesValues[eProperties.Color]); DoorsNumber = StringToEnum <eDoorsNumber>(i_VehiclePropertiesValues[eProperties.Doors]); VehicleEngine.UpdateProperties(i_VehiclePropertiesValues, CurrentEnergyPercentage); }
/// <summary> /// Create the vehicle with the path inputted. /// </summary> /// <param name="vehicle">The vehicle to create.</param> /// <param name="path">The path to set the vehicle on.</param> /// <returns>The created vehicle.</returns> public Rigidbody SpawnVehicle(Rigidbody vehicle, Path path) { Rigidbody spawnedVehicle = Instantiate(vehicle, path.nodes[0].position, path.nodes[0].rotation); TemporarilyHideVehicle(spawnedVehicle, timeOfStartInvisibility); VehicleEngine vehicleEngine = spawnedVehicle.GetComponent <VehicleEngine>(); vehicleEngine.SetPath(path); currentVehicles.Add(spawnedVehicle, path); return(spawnedVehicle); }
public IEnumerator VehicleEngineGoTest() { DisableLoops(); VehicleFactory vehicleFactory = (VehicleFactory)GameObject.FindObjectOfType(typeof(VehicleFactory)); Rigidbody vehicle = vehicleFactory.SpawnVehicle(vehicleFactory.GetRandomVehicle(), vehicleFactory.GetRandomUnusedPath()); VehicleEngine vehicleEngine = vehicle.GetComponent <VehicleEngine>(); yield return(null); Assert.True(vehicleEngine.GetEngineStatus() == VehicleEngine.EngineStatus.ACCELERATE); }
public ChooseCarViewModel(VehicleEngine vehicleEngine) { storeService = StoreService.GetStoreService(); mainViewModel = MainViewModel.GetMainViewModel(); //mainViewModel.ChooseCarViewModel = this; vehicleEngines = new ObservableCollection <VehicleEngine>(); vehicleBrands = new ObservableCollection <VehicleBrand>(); vehicleModifications = new ObservableCollection <VehicleModification>(); FillVehicleByEngine(vehicleEngine); }
public IEnumerator VehicleEngineStopTest() { DisableLoops(); VehicleFactory vehicleFactory = (VehicleFactory)GameObject.FindObjectOfType(typeof(VehicleFactory)); TrafficLightManager.GetInstance().SetAllToRed(); Rigidbody vehicle = vehicleFactory.SpawnVehicle(vehicleFactory.GetRandomVehicle(), vehicleFactory.GetRandomUnusedPath()); VehicleEngine vehicleEngine = vehicle.GetComponent <VehicleEngine>(); yield return(new WaitForSeconds(STOP_LIGHT_TIME)); Assert.True(vehicleEngine.GetEngineStatus() == VehicleEngine.EngineStatus.STOP || vehicleEngine.GetEngineStatus() == VehicleEngine.EngineStatus.HARD_STOP); }
public NewVehicleEngineHelper(IStoreService storeService, NewCarViewModel newCarViewModel) { this.storeService = storeService; this.newCarViewModel = newCarViewModel; VehicleEngineComboboxes = new VehicleEngineComboboxes(); TextsVehicleEngine = new VehicleEngine(); NewVehicleEngine = new VehicleEngine(); EmtyTextsVehicleEngine(); VehicleEngines = new ObservableCollection <VehicleEngine>(); }
private bool CheckVehicleEngine(VehicleEngine VehicleEngine) { if (VehicleEngine.Volume == 0 || VehicleEngine.Power == 0 || VehicleEngine.Modification == null || VehicleEngine.ReleaseEnd == "" || VehicleEngine.ModelCode == null || VehicleEngine.ModelCode == "" || VehicleEngine.ReleaseStart == null || VehicleEngine.ReleaseStart == "" || VehicleEngine.ReleaseEnd == null || VehicleEngine.ReleaseEnd == "") { return(false); } else { return(true); } }
public VehiclePart GetVehiclePart(VehicleEngine vehicleEngine, Category category) { VehiclePart vehiclePart = new VehiclePart(); vehiclePart.Category = category; vehiclePart.VehicleEngine = vehicleEngine; VehiclePart outVehiclePart = unitOfWork.VehiclePartRepository.GetAs(vehiclePart).FirstOrDefault(); if (outVehiclePart == null) { unitOfWork.VehiclePartRepository.Add(vehiclePart); outVehiclePart = vehiclePart; } return(outVehiclePart); }
public void FillEnergy(float i_EnergyAmount, Engine.eFuelType?i_FuelType = null) { if (VehicleEngine is GasEngine && i_FuelType != (VehicleEngine as GasEngine).FuelType) { if (i_FuelType == null) { throw new ArgumentException("No fuel type recived"); } else { throw new ArgumentException("Fuel type not match"); } } VehicleEngine.FillEnergy(i_EnergyAmount, this, i_FuelType); }
void OnTriggerEnter(Collider other) { VehicleEngine vehicleEngine = other.GetComponentInParent <VehicleEngine>(); if (vehicleEngine != null && !vehicleEngine.densityCountTriggered) { vehicleEngine.densityCountTriggered = true; PythonManager.GetInstance().IncrementDensityCount(); // Calculate Delay if (vehicleEngine.startDelayTime != -1) { float delay = Time.time - vehicleEngine.startDelayTime; Utils.AppendAllTextToResults(Utils.VEHICLE_DELAY_TIMES_FILE_NAME, delay.ToString() + ","); } } }
public ChooseCarViewModel() { vehicleAccess = new VehicleAccess(); mainViewModel = MainViewModel.GetMainViewModel(); mainViewModel.ChooseCarViewModel = this; selectedVehicleBrand = new Vehicle(); selectedVehicleModification = new VehicleModification(); selectedVehicleEngine = new VehicleEngine(); vehicleBrands = new ObservableCollection <Vehicle>(); vehicleModifications = new ObservableCollection <VehicleModification>(); vehicleEngines = new ObservableCollection <VehicleEngine>(); FillVehicleBrands(); }
public NewCarViewModel() { vehicleAccess = new VehicleAccess(); mainViewModel = MainViewModel.GetMainViewModel(); mainViewModel.NewCarViewModel = this; selectedVehicleBrand = new Vehicle(); selectedVehicleModification = new VehicleModification(); selectedVehicleEngine = new VehicleEngine(); vehicleBrands = new ObservableCollection <Vehicle>(); vehicleModifications = new ObservableCollection <VehicleModification>(); vehicleEngines = new ObservableCollection <VehicleEngine>(); vehicleModificationModels = new ObservableCollection <string>(); vehicleModificationModelCodes = new ObservableCollection <string>(); vehicleModificationReleaseStarts = new ObservableCollection <string>(); vehicleModificationReleaseEnds = new ObservableCollection <string>(); vehicleEngineVolumes = new ObservableCollection <float>(); vehicleEngineModifications = new ObservableCollection <string>(); vehicleEnginePowers = new ObservableCollection <short>(); vehicleEngineModelCodes = new ObservableCollection <string>(); vehicleEngineReleaseStarts = new ObservableCollection <string>(); vehicleEngineReleaseEnds = new ObservableCollection <string>(); //VehicleModification vm1 = new VehicleModification("Sierra", "GBC", "1987", "1990"); //VehicleModification vm2 = new VehicleModification("Sierra", "GBN", "1990", "1993"); //vehicleModifications.Add(vm1); //vehicleModifications.Add(vm2); //VehicleModificationModels.Add(vm1.Model); //VehicleModificationModels.Add(vm2.Model); FillVehicleBrands(); }
public virtual string GetVehicleInformationAsString() { StringBuilder vehicleInformationStringBuilder = new StringBuilder(); vehicleInformationStringBuilder.AppendFormat("License Number: {0}{1}", LicenseNumber, Environment.NewLine); vehicleInformationStringBuilder.AppendFormat("Remaining Energy Percentage: {0}{1}", RemainingEnergyPercentage, Environment.NewLine); vehicleInformationStringBuilder.AppendFormat("Tires Information:{0}{1}", Environment.NewLine, getTiresCollectionInformationAsString()); vehicleInformationStringBuilder.AppendFormat("Engine Information:{0}{1}", Environment.NewLine, VehicleEngine.GetEngineInformationAsString()); return(vehicleInformationStringBuilder.ToString()); }
public IEnumerator VehicleEngineSpeedTest() { yield return(null); DisableLoops(); VehicleFactory vehicleFactory = (VehicleFactory)GameObject.FindObjectOfType(typeof(VehicleFactory)); foreach (TrafficLight trafficLight in TrafficLightManager.GetInstance().trafficLights) { trafficLight.SetColour(TrafficLight.LightColour.GREEN); } Path pathWithTurning = null; foreach (Path path in vehicleFactory.paths) { float xRange = path.nodes.Select(node => node.position.x).Max() - path.nodes.Select(node => node.position.x).Min(); float zRange = path.nodes.Select(node => node.position.z).Max() - path.nodes.Select(node => node.position.z).Min(); // Path has turning if (xRange != 0 && zRange != 0) { pathWithTurning = path; break; } } if (pathWithTurning == null) { Assert.Inconclusive("Unable to test. No paths with turnings."); } Rigidbody vehicle = vehicleFactory.SpawnVehicle(vehicleFactory.GetRandomVehicle(), pathWithTurning); VehicleEngine vehicleEngine = vehicle.GetComponent <VehicleEngine>(); bool carIsDestroyed = false; for (int i = 0; i <= TIME_OUT_DESTROY_TIME; i = i + 5) { yield return(new WaitForSeconds(5)); if (vehicle == null) { carIsDestroyed = true; break; } if (Math.Abs(vehicleEngine.wheelColliderFrontLeft.steerAngle) > 2) { Assert.AreEqual(vehicleEngine.maxSpeedTurning, vehicleEngine.targetSpeed, "Turning Speed"); } if (vehicleEngine.currentNodeNumber + 1 < vehicleEngine.path.nodes.Count) { // If next node is a traffic light if (TrafficLightManager.GetInstance().IsStopNode(vehicleEngine.path.nodes[vehicleEngine.currentNodeNumber + 1])) { Assert.AreEqual(vehicleEngine.maxSpeedApproachingLightsLastNode, vehicleEngine.targetSpeed, "Speed Approaching last node"); } } if (vehicleEngine.currentNodeNumber + 2 < vehicleEngine.path.nodes.Count) { // If 2nd to next node is a traffic light if (TrafficLightManager.GetInstance().IsStopNode(vehicleEngine.path.nodes[vehicleEngine.currentNodeNumber + 2])) { Assert.AreEqual(vehicleEngine.maxSpeedApproachingLightsSecondLastNode, vehicleEngine.targetSpeed, "Speed Approaching second to last node"); } } } Assert.True(carIsDestroyed); }
public virtual string GetInformation() { return(", produced by " + Manufacturer + " with " + VehicleEngine.GetInformation() + ", " + VehicleChassis.GetInformation() + ", " + VehicleTransmission.GetInformation()); }
public void AddEngine(VehicleEngine vehicleEngine) { unitOfWork.VehicleEngineRepository.Add(vehicleEngine); unitOfWork.Save(); }
public override int GetHashCode() { return(HashCode.Combine(VehicleEngine.GetHashCode(), VehicleChassis.GetHashCode(), VehicleTransmission.GetHashCode(), Manufacturer)); }
public void EditEgnine(VehicleEngine vehicleEngine) { unitOfWork.VehicleEngineRepository.Update(vehicleEngine); unitOfWork.Save(); }
/// <summary> /// Creates the test DB, resetting indices, unless data is already present /// </summary> /// <param name="dbOptions"></param> /// <returns></returns> private static async Task CreateTestDatabase(DbContextOptions <MockContext> dbOptions) { using (var context = new MockContext(dbOptions)) { // Ensure DB was cleaned up context.ResetValueGenerators(); await context.Database.EnsureDeletedAsync(); // Wheels var wheels = new Wheel[] { new Wheel { Size = 15, Width = 5 }, new Wheel { Size = 16, Width = 5 }, new Wheel { Size = 17, Width = 6 }, new Wheel { Size = 18, Width = 7 } }; // Engines var engines = new Engine[] { new Engine { Capacity = 2400, Configuration = "Inline 4 Vtec", FuelType = "Petrol" }, new Engine { Capacity = 2000, Configuration = "Boxer 4", FuelType = "Petrol" }, new Engine { Capacity = 4000, Configuration = "V8", FuelType = "Petrol" }, new Engine { Capacity = 2000, Configuration = "Inline 4 Turbo", FuelType = "Diesel" } }; // Vehicles var vehicles = new Vehicle[] { new Vehicle { Name = "Subaru Impreza" }, new Vehicle { Name = "Volkswagen Caddy" }, new Vehicle { Name = "Holden Commodore" }, new Vehicle { Name = "Honda Accord" } }; await context.Wheels.AddRangeAsync(wheels); await context.Engines.AddRangeAsync(engines); await context.Vehicles.AddRangeAsync(vehicles); await context.SaveChangesAsync(); // VehicleEngines var vehicleEngines = new VehicleEngine[] { new VehicleEngine { VehicleId = 1, EngineId = 2 }, new VehicleEngine { VehicleId = 2, EngineId = 4 }, new VehicleEngine { VehicleId = 3, EngineId = 3 }, new VehicleEngine { VehicleId = 4, EngineId = 1 }, }; // VehicleWheels var vehicleWheels = new VehicleWheel[] { // Subaru Impreza new VehicleWheel { VehicleId = 1, WheelId = 2 }, new VehicleWheel { VehicleId = 1, WheelId = 2 }, new VehicleWheel { VehicleId = 1, WheelId = 2 }, new VehicleWheel { VehicleId = 1, WheelId = 2 }, // VW Caddy new VehicleWheel { VehicleId = 2, WheelId = 1 }, new VehicleWheel { VehicleId = 2, WheelId = 1 }, new VehicleWheel { VehicleId = 2, WheelId = 1 }, new VehicleWheel { VehicleId = 2, WheelId = 1 }, // Holden Commodore new VehicleWheel { VehicleId = 3, WheelId = 4 }, new VehicleWheel { VehicleId = 3, WheelId = 4 }, new VehicleWheel { VehicleId = 3, WheelId = 4 }, new VehicleWheel { VehicleId = 3, WheelId = 4 }, // Honda Accord new VehicleWheel { VehicleId = 4, WheelId = 3 }, new VehicleWheel { VehicleId = 4, WheelId = 3 }, new VehicleWheel { VehicleId = 4, WheelId = 3 }, new VehicleWheel { VehicleId = 4, WheelId = 3 } }; await context.VehicleEngines.AddRangeAsync(vehicleEngines); await context.VehicleWheels.AddRangeAsync(vehicleWheels); await context.SaveChangesAsync(); } }
public void AddVehicleEngine(VehicleEngine vehicleEngine) { db.VehicleEngines.Add(vehicleEngine); db.SaveChanges(); }
public void DeleteVehicleEgnine(VehicleEngine vehicleEngine) { unitOfWork.VehicleEngineRepository.Delete(vehicleEngine.Id); unitOfWork.Save(); }