Example #1
0
 protected Vehicle(HoldVehicleParams i_Vehicle)
 {
     r_Engine = i_Vehicle.Engine;
     m_RemainingEnergyPercentage = r_Engine.GetRemainingEnergyPercentage();
     r_VehicleModel  = i_Vehicle.VehicleModel;
     r_LicensePlate  = i_Vehicle.LicensePlate;
     m_VehicleWheels = i_Vehicle.Wheels;
 }
Example #2
0
        private readonly float r_TrunkSize; // meter^3

        public Truck(bool i_IsTruckRefrigerated, float i_TrunkSize, HoldVehicleParams i_MyVehicle) : base(i_MyVehicle)
        {
            r_IsTruckRefrigerated = i_IsTruckRefrigerated;
            r_TrunkSize           = i_TrunkSize;
            if (i_MyVehicle.Wheels.Count > (int)eNumOfWheels.TwelveWheeledTruck)
            {
                throw new ArgumentException(k_ErrNumOfWheels);
            }
        }
Example #3
0
 public Car(eColors i_CarColor, eNumOfDoors i_NumOfDoors, HoldVehicleParams i_MyVehicle) : base(i_MyVehicle)
 {
     r_CarColor      = i_CarColor;
     r_CarNumOfDoors = i_NumOfDoors;
     if (i_MyVehicle.Wheels.Count > (int)eNumOfWheels.FourWheeledCar)
     {
         throw new ArgumentException(k_ErrNumOfWheels);
     }
 }
Example #4
0
        public Motorcycle(uint i_EngineVolume, HoldVehicleParams i_MyVehicle, eMotorcycleLicenceType i_Licence) : base(i_MyVehicle)
        {
            r_EngineVolume          = i_EngineVolume;
            m_MotorcycleLicenceType = i_Licence;

            if (i_MyVehicle.Wheels.Count > (int)eNumOfWheels.TwoWheeledMotorcycle)
            {
                throw new ArgumentException(k_ErrNumberOfWheels);
            }
        }
Example #5
0
        public static Vehicle CreateVehicleForGarage(HoldAddGarageVehicleParams i_UserParams, params float[] i_VehicelParams)
        {
            Vehicle      myVehicle = null;
            Engine       engine    = getEngine(i_UserParams.Engine);
            List <Wheel> wheels    = new List <Wheel>();

            try
            {
                for (int i = 0; i < i_UserParams.Wheels.AmountOfWheels; i++)
                {
                    wheels.Add(new Wheel(i_UserParams.Wheels.WheelManufacturerName, i_UserParams.Wheels.MaxManufacturerPressure, i_UserParams.Wheels.WheelPressureStatus));
                }

                HoldVehicleParams vehicleParams = new HoldVehicleParams(i_UserParams.VehicleModel, i_UserParams.LicencePlate, engine, wheels);
                switch (i_UserParams.VehicleType)
                {
                case eVehicleTypes.Car:
                    myVehicle = new Car((Car.eColors)i_VehicelParams[0], (Car.eNumOfDoors)i_VehicelParams[1], vehicleParams);
                    break;

                case eVehicleTypes.Motorcycle:
                    myVehicle = new Motorcycle((uint)i_VehicelParams[0], vehicleParams, (Motorcycle.eMotorcycleLicenceType)i_VehicelParams[1]);
                    break;

                case eVehicleTypes.Truck:
                    bool coldTrank = i_VehicelParams[0] == 1;
                    myVehicle = new Truck(coldTrank, (float)i_VehicelParams[1], vehicleParams);
                    break;
                }

                if (!isVehicleSupported(myVehicle))
                {
                    myVehicle = null;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(myVehicle);
        }