Esempio n. 1
0
        public static Vehicle CreateNewVehicle(eVehicleType i_VehicleType, eEnergySourceType i_EnergySourceType,
                                               float i_CurrentEnergyAmount, string i_VehicleModelName, string i_WheelsManufacturerName,
                                               string i_LicensePlate, float i_CurrentAirPressure,
                                               params object[] i_SpecificVehicleParams)
        {
            VehicleInfo vehicleInfo = getVehicleInfo(i_VehicleType, i_VehicleModelName, i_WheelsManufacturerName,
                                                     i_LicensePlate, i_SpecificVehicleParams);
            EnergySource energySource  = getEnergySource(i_VehicleType, i_EnergySourceType, i_CurrentEnergyAmount);
            Vehicle      resultVehicle = getVehicle(i_VehicleType, vehicleInfo, energySource, i_CurrentAirPressure);

            return(resultVehicle);
        }
Esempio n. 2
0
        private static EnergySource getEnergySource(eVehicleType i_VehicleType, eEnergySourceType i_EnergySourceType,
                                                    float i_CurrentEnergyAmount)
        {
            EnergySource energySource;

            switch (i_EnergySourceType)
            {
            case eEnergySourceType.Fuel:
                energySource = new FuelEnergySource(i_CurrentEnergyAmount,
                                                    getFuelEnergyFillingInfoByVehicleType(i_VehicleType));
                break;

            case eEnergySourceType.Electricity:
                energySource = new ElectricEnergySource(i_CurrentEnergyAmount,
                                                        getElectricityEnergyFillingInfoByVehicleType(i_VehicleType));
                break;

            default:
                throw new ArgumentOutOfRangeException("i_EnergySourceType");
            }
            return(energySource);
        }