Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
        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);
        }