private static Vehicle createMotorCycle(VehicleInitialDetails i_RequiermentsForVehicle) { List <Wheel> motorcycleWheels = new List <Wheel>(); foreach (VehicleInitialDetails.wheelsInfo w in i_RequiermentsForVehicle.m_WheelsInfoList) { motorcycleWheels.Add(new Wheel(w.m_TyreManufacturer, Motorcycle.k_MaxMotorcyclePsi, w.m_TyrePsi)); } EnergyType MotorCycleEnergyType; if (i_RequiermentsForVehicle.m_EnergyTypeInfo.engine == eSupportedEngines.Electric) { MotorCycleEnergyType = new ElectricityEngine(i_RequiermentsForVehicle.m_EnergyTypeInfo.m_CurrentAmountEnergy, Motorcycle.k_MaxMotorcycleElectricHours); } else///fuel { MotorCycleEnergyType = new Fuel(Fuel.eFuelType.Octan96, i_RequiermentsForVehicle.m_EnergyTypeInfo.m_CurrentAmountEnergy, Motorcycle.k_MaxMotorcycleFuel); } return(new Motorcycle(i_RequiermentsForVehicle.m_MotorCycleInfo.m_licenceType, i_RequiermentsForVehicle.m_MotorCycleInfo.m_EngineVolume, MotorCycleEnergyType, i_RequiermentsForVehicle.m_Model, i_RequiermentsForVehicle.m_LicensePlate, new OwnerDetails(i_RequiermentsForVehicle.m_ownerInfo.m_OwnerName, i_RequiermentsForVehicle.m_ownerInfo.m_OwnerPhone), motorcycleWheels)); }
private static Vehicle createCar(VehicleInitialDetails i_RequiermentsForVehicle) { List <Wheel> carWheels = new List <Wheel>(); foreach (VehicleInitialDetails.wheelsInfo w in i_RequiermentsForVehicle.m_WheelsInfoList) { carWheels.Add(new Wheel(w.m_TyreManufacturer, Car.k_MaxCarPsi, w.m_TyrePsi)); } EnergyType carEnergyType; if (i_RequiermentsForVehicle.m_EnergyTypeInfo.engine == eSupportedEngines.Electric) { carEnergyType = new ElectricityEngine(i_RequiermentsForVehicle.m_EnergyTypeInfo.m_CurrentAmountEnergy, Car.k_MaxCarElectricHours); } else///fuel { carEnergyType = new Fuel(Fuel.eFuelType.Octan98, i_RequiermentsForVehicle.m_EnergyTypeInfo.m_CurrentAmountEnergy, Car.k_MaxCarFuel); } return(new Car(i_RequiermentsForVehicle.m_CarInfo.m_Color, i_RequiermentsForVehicle.m_CarInfo.m_NumberOfDoors, carEnergyType, i_RequiermentsForVehicle.m_Model, i_RequiermentsForVehicle.m_LicensePlate, new OwnerDetails(i_RequiermentsForVehicle.m_ownerInfo.m_OwnerName, i_RequiermentsForVehicle.m_ownerInfo.m_OwnerPhone), carWheels)); }
public void ChargeBattery(string i_LicenseNumber, string i_AmountOfMinutesToCharge) { float AmountOfMinutesToCharge = ParseUtils.Parse <float>(i_AmountOfMinutesToCharge, " is not a valid number of minutes"); Vehicle vehicle = m_Vehicls[i_LicenseNumber].vehicle; vehicle.EneregyType.ChargeEneregy(AmountOfMinutesToCharge / k_NumOfMinutsInHour); vehicle.UpadteCurrentPresentOfEneregy(); ElectricityEngine electricEngine = vehicle.EneregyType as ElectricityEngine; }
public static Vehicle CreateVehicle(eVehicleType i_VehicleType) { Vehicle m_Vehicle = null; FuelEngine FuelPropulsion = null; ElectricityEngine ElectricityPropulsion = null; switch (i_VehicleType) { case eVehicleType.FuelCar: //Fuel Car FuelPropulsion = new FuelEngine(45f); FuelPropulsion.FuelType = FuelEngine.eFuelType.Octan98; m_Vehicle = new Car(FuelPropulsion); m_Vehicle.SetAirPressureInWheels(32f); break; case eVehicleType.ElectricyCar: //Electric Car ElectricityPropulsion = new ElectricityEngine(3.2f); m_Vehicle = new Car(FuelPropulsion); m_Vehicle.SetAirPressureInWheels(32f); break; case eVehicleType.FuelBike: //Fuel Bike FuelPropulsion = new FuelEngine(6f); FuelPropulsion.FuelType = FuelEngine.eFuelType.Octan96; m_Vehicle = new Bike(FuelPropulsion); m_Vehicle.SetAirPressureInWheels(30f); break; case eVehicleType.ElectricyBike: //Electric Bike ElectricityPropulsion = new ElectricityEngine(1.8f); m_Vehicle = new Bike(ElectricityPropulsion); m_Vehicle.SetAirPressureInWheels(30f); break; case eVehicleType.Truck: //Fuel Truck FuelPropulsion = new FuelEngine(115f); FuelPropulsion.FuelType = FuelEngine.eFuelType.Soler; m_Vehicle = new Truck(FuelPropulsion); m_Vehicle.SetAirPressureInWheels(28f); break; default: throw new ArgumentException("Type of Vehicle not Set"); } return(m_Vehicle); }