internal FuelMotrobike(string i_ModelName, string i_LicenseNumber, float i_CurrentTrunkVolumePrecent) : base(i_LicenseNumber, i_ModelName) { float currPrecent = i_CurrentTrunkVolumePrecent * 7f / 100; m_VehicleEngineEnergy = new FuelEnergy(eFuelType.Octan95, 7f, currPrecent); }
private static EnergySource getEnergySource( string i_EnergySource, string i_VehicleType, Dictionary <string, string> i_VehicleProperties) { EnergySource energySource; float maxEnergy; float energyLeft; float minEnergyToAdd = 0; float energyPercenatge = float.Parse(i_VehicleProperties["Energy Percentage (number 0-100)"]); energyPercenatge /= 100; if (i_EnergySource == "Fuel") { eFuelType fuelType = getFuelType(i_VehicleType); maxEnergy = getFuelMaxEnergy(i_VehicleType); energyLeft = maxEnergy * energyPercenatge; energySource = new FuelEnergy(fuelType, maxEnergy, energyLeft, minEnergyToAdd); } else if (i_EnergySource == "Electric") { maxEnergy = getElectricMaxEnergy(i_VehicleType); energyLeft = maxEnergy * energyPercenatge; energySource = new ElectricEnergy(maxEnergy, energyLeft, minEnergyToAdd); } else { throw new Exception("energy source is not valid"); } return(energySource); }
internal FuelCar(string i_LicenseNumber, string i_ModelName, float i_CurrentTrunkVolumePrecent) : base(i_LicenseNumber, i_ModelName) { float currEnergy = i_CurrentTrunkVolumePrecent * 60f / 100; m_VehicleEngineEnergy = new FuelEnergy(eFuelType.Octan96, 60f, i_CurrentTrunkVolumePrecent); }
internal FuelTruck(string i_ModelName, string i_LicenseNumber, float i_CurrentTrunkVolumePrecent) : base(i_ModelName, i_LicenseNumber) { float currEnergy = i_CurrentTrunkVolumePrecent * 120f / 100; m_VehicleEngineEnergy = new FuelEnergy(eFuelType.Soler, 120, currEnergy); }
public void RefuelFuelVehicle(string i_LicensePlate, FuelEnergy.eFuelType i_FuelType, float i_FuelToAdd) { this.checkLicensePlate(i_LicensePlate); FuelEnergy currentEnergy = this.m_Vehicle[i_LicensePlate].Vehicle.Energy as FuelEnergy; if (currentEnergy == null) { throw new ArgumentException("Vehicle doesn't have fuel type energy!"); } currentEnergy.Refuel(i_FuelToAdd, i_FuelType); }
public void FillFuelVehicle(string i_LicenseNumber, eFuelType i_FuelType, float i_AmountOfFuelToFill) { Client client = GetClient(i_LicenseNumber); FuelEnergy fuelEnergy = client.Vehicle.Energy as FuelEnergy; if (fuelEnergy != null) { fuelEnergy.MakeFueling(i_AmountOfFuelToFill, i_FuelType); } else { throw new FormatException("This vehicle has no fuel system"); } }
public void AddFuelToVehicle(string i_LicensePlate, eFuelType i_FuelType, float i_AmountOfFuelToAdd) { if (m_VehicleTickets[i_LicensePlate].Vehicle.EnergySource is FuelEnergy) { FuelEnergy CarFuelTank = m_VehicleTickets[i_LicensePlate].Vehicle.EnergySource as FuelEnergy; try { CarFuelTank.AddFuel(i_AmountOfFuelToAdd, i_FuelType); } catch (Exception ex) { Console.WriteLine(ex.Message); throw ex; } } else { throw new FormatException("Vehicle is not using Fuel!"); } }
public static Vehicle CreateVehicle(string i_LicensePlate, eVehicleType i_VehicleType) { Vehicle newVehicle = null; Energy energyType = null; if (i_VehicleType == eVehicleType.FuelCar) { energyType = new FuelEnergy(FuelEnergy.eFuelType.Octan98, k_FuelCarMaxEnergyCapacity); newVehicle = new Car(i_LicensePlate, energyType); } else if (i_VehicleType == eVehicleType.ElectricCar) { energyType = new ElectricEnergy(k_ElectricCarMaxEnergyCapacity); newVehicle = new Car(i_LicensePlate, energyType); } else if (i_VehicleType == eVehicleType.ElectricMotorcycle) { energyType = new ElectricEnergy(k_ElectricMotorcycleMaxEnergyCapacity); newVehicle = new Motorcycle(i_LicensePlate, energyType); } else if (i_VehicleType == eVehicleType.FuelMotorcycle) { energyType = new FuelEnergy(FuelEnergy.eFuelType.Octan96, k_FuelMotorcycleMaxEnergyCapacity); newVehicle = new Motorcycle(i_LicensePlate, energyType); } else if (i_VehicleType == eVehicleType.FuelTruck) { energyType = new FuelEnergy(FuelEnergy.eFuelType.Soler, k_TruckMaxEnergyCapacity); newVehicle = new Truck(i_LicensePlate, energyType); } else { throw new ArgumentException("Invalid vehicle type inserted!"); } return(newVehicle); }
protected void asssaignEnergySourceToFuel(ref VehicleEnergy io_Energy, eFuelType i_FuelType, float i_CurrentAmount, float i_MaxAmount, EnergyType i_Fuel) { FuelEnergy.ValidateFuelType(i_Fuel); io_Energy = new FuelEnergy(i_FuelType, i_CurrentAmount, i_MaxAmount); PercentOfEnergyLeft = percentOfEnergyLeftCalculation(i_CurrentAmount, i_MaxAmount); }
internal FuelMotorcycle(string i_LicenseNumber) : base(i_LicenseNumber, k_MaxWheelAirPressure, k_NumberOfWheels) { EnergySystem = new FuelEnergy(k_MaxFuelTank, k_FuelKind); }