示例#1
0
 public override void UpdateProperties(Dictionary <Vehicle.eProperties, string> i_VehiclePropertiesValues, List <string> i_WheelsMakers, List <float> i_WheelsAirPressure)
 {
     base.UpdateProperties(i_VehiclePropertiesValues, i_WheelsMakers, i_WheelsAirPressure);
     CarColor    = StringToEnum <eCarColors>(i_VehiclePropertiesValues[eProperties.Color]);
     DoorsNumber = StringToEnum <eDoorsNumber>(i_VehiclePropertiesValues[eProperties.Doors]);
     VehicleEngine.UpdateProperties(i_VehiclePropertiesValues, CurrentEnergyPercentage);
 }
        public ElectricCar(string i_LicenseNumber) : base(i_LicenseNumber)
        {
            const eColor       k_DefaultColor      = eColor.Black;
            const eDoorsNumber k_DefaultDoorNumber = eDoorsNumber.Four;

            this.Color       = k_DefaultColor;
            this.DoorsNumber = k_DefaultDoorNumber;
        }
示例#3
0
        protected eDoorsNumber MatchedDoorsNumber(string i_DoorsAsString)
        {
            eDoorsNumber matchedNumber = eDoorsNumber.four;

            foreach (eDoorsNumber number in Enum.GetValues(typeof(eDoorsNumber)))
            {
                if (number.ToString().ToLower() == i_DoorsAsString.ToLower())
                {
                    matchedNumber = number;
                }
            }

            return(matchedNumber);
        }
示例#4
0
 public override void UpdateUniqueProperties(string i_Key, string i_Value)
 {
     if (i_Key == k_ColorKey)
     {
         this.m_Color = LogicUtils.EnumValidation <eColor>(i_Value, k_ColorKey);
     }
     else if (i_Key == k_DoorsNumKey)
     {
         this.m_DoorsNumber = LogicUtils.EnumValidation <eDoorsNumber>(i_Value, k_DoorsNumKey);
     }
     else
     {
         throw new ArgumentException("Invalid key");
     }
 }
        private bool handleCarDoorNumber(string i_Answer, Vehicle i_VehicleInSetting)
        {
            bool succeed = byte.TryParse(i_Answer, out byte doorNumberInByte);

            ElectricCar electricCar = i_VehicleInSetting as ElectricCar;
            FuelBaseCar fuelCar     = i_VehicleInSetting as FuelBaseCar;

            eDoorsNumber doorNumber = ElectricCar.CovertNumToDoorNumber(doorNumberInByte);

            if (succeed && fuelCar != null)
            {
                try
                {
                    fuelCar.DoorsNumber = doorNumber;
                    succeed             = true;
                }
                catch
                {
                    succeed = false;
                }
            }
            else if (succeed && electricCar != null)
            {
                try
                {
                    electricCar.DoorsNumber = doorNumber;
                    succeed = true;
                }
                catch
                {
                    succeed = false;
                }
            }
            else
            {
                succeed = false;
            }

            return(succeed);
        }
        public static eDoorsNumber CovertNumToDoorNumber(byte i_Num)
        {
            eDoorsNumber doorsNumber = 0;

            if (i_Num == 2)
            {
                doorsNumber = eDoorsNumber.Two;
            }
            else if (i_Num == 3)
            {
                doorsNumber = eDoorsNumber.Three;
            }
            else if (i_Num == 4)
            {
                doorsNumber = eDoorsNumber.Four;
            }
            else if (i_Num == 5)
            {
                doorsNumber = eDoorsNumber.Five;
            }

            return(doorsNumber);
        }
 public ElectricCar(string i_ModelName, string i_LicenseNumber, float i_BatteryTimeLeftByHours, eCarColor i_Color, eDoorsNumber i_DoorNumber, Wheel[] i_Wheels)
     : base(i_ModelName, i_LicenseNumber, i_BatteryTimeLeftByHours, k_MaxBatteryTime, k_NumberOfWheels, i_Wheels, k_MaxWheelAirPressure)
 {
     m_CarProperties = new CarProperties(i_Color, i_DoorNumber);
 }
 private bool checkValidDoorsNumber(eDoorsNumber i_DoorsNumber)
 {
     return(i_DoorsNumber == eDoorsNumber.Two || i_DoorsNumber == eDoorsNumber.Three ||
            i_DoorsNumber == eDoorsNumber.Four || i_DoorsNumber == eDoorsNumber.Five);
 }
示例#9
0
 public FuelCar(string i_ModelName, string i_LicenseNumber, float i_CurrentFuelQuantity, eCarColor i_CarColor, eDoorsNumber i_DoorsNumber, Wheel[] i_Wheel)
     : base(i_ModelName, i_LicenseNumber, k_FuelType, i_CurrentFuelQuantity, k_MaxFuelQuantity, k_NumberOfWheels, i_Wheel, k_MaxWheelAirPressure)
 {
     m_CarProperties = new CarProperties(i_CarColor, i_DoorsNumber);
 }
 public CarProperties(eCarColor i_CarColor, eDoorsNumber i_DoorsNumber)
 {
     m_CarColor    = i_CarColor;
     m_DoorsNumber = i_DoorsNumber;
 }