コード例 #1
0
        private static Vehicle setBasicVehicleInfo(string i_LicenseNumber)
        {
            ConsoleUI.CreateEnumArray <eVehicleType>();
            string       type        = ConsoleUI.GetField("Vehicle type: ", !v_LettersNumbersOnly, v_NumbersOnly);
            eVehicleType vehicleType = ConsoleUI.ParseEnum <eVehicleType>(type);
            string       model       = ConsoleUI.GetField("Model's name: ", v_LettersNumbersOnly);
            Vehicle      newVehicle  = VehicleInitiator.CreateVehicle(i_LicenseNumber, vehicleType, model);

            setEngine(newVehicle, vehicleType);
            getWheelsInfo(vehicleType, newVehicle);

            return(newVehicle);
        }
コード例 #2
0
        private static void setEngine(Vehicle i_Vehicle, eVehicleType i_Type)
        {
            float currentEnergy = ConsoleUI.ConvertToFloat(ConsoleUI.GetUserInput("Amount of energy left: "));

            try
            {
                VehicleInitiator.InitEngine(i_Type, currentEnergy, out Engine engine, i_Vehicle);
            }
            catch (ValueOutOfRangeException ex)
            {
                ConsoleUI.PrintToScreen(string.Format("{0}{1}{2}", ex.Message, Environment.NewLine, "Try again"));
                setEngine(i_Vehicle, i_Type);
            }
        }
コード例 #3
0
 private static void setWheels(string i_Manufacturer, float i_AirPressure, eVehicleType i_Type, Vehicle i_Vehicle)
 {
     try
     {
         VehicleInitiator.InitWheels(i_Manufacturer, i_AirPressure, i_Type, i_Vehicle);
     }
     catch (ValueOutOfRangeException ex)
     {
         ConsoleUI.PrintToScreen(ex.Message);
         i_AirPressure = ConsoleUI.ConvertToFloat(ConsoleUI.GetUserInput("Try again - Current air pressure: "));
         setWheels(i_Manufacturer, i_AirPressure, i_Type, i_Vehicle);
     }
     catch
     {
         ConsoleUI.PrintToScreen("Something went wrong... Try again");
         getWheelsInfo(i_Type, i_Vehicle);
     }
 }
コード例 #4
0
        private static void setMember(Type i_MemberType, string i_MemberName, Vehicle i_Vehicle)
        {
            string input = string.Empty;

            ConsoleUI.PrintToScreen(string.Format("{0}: ", i_MemberName));
            if (i_MemberType.IsEnum)
            {
                input = ConsoleUI.FindEnumType(i_MemberType);
            }
            else if (i_MemberType == typeof(bool))
            {
                input = ConsoleUI.HandleBooleanType(i_MemberName);
            }
            else
            {
                input = ConsoleUI.GetUserInput();
            }

            if (input.Length > 0)
            {
                try
                {
                    VehicleInitiator.SetPropertiesForMember(i_MemberType, input, i_MemberName, i_Vehicle);
                }
                catch (InvalidCastException)
                {
                    ConsoleUI.PrintToScreen(string.Format("Failed to handle input, since it's not from type {0}. Try again...", i_MemberType));
                    setMember(i_MemberType, i_MemberName, i_Vehicle);
                }
                catch (Exception ex)
                {
                    ConsoleUI.PrintToScreen(string.Format("An error occured, please try again...{0}{1}", Environment.NewLine, ex.Message));
                    setMember(i_MemberType, i_MemberName, i_Vehicle);
                }
            }
        }