private void RegisterRaceStarterCar(StarterConfigInputs config, int trackIndex)
    {
        RaceStarterModel racer = RacingCarsFactory.MakeRaceStarter(config);

        DataCenter.RegisterRaceStarters(racer);
        RacingCarsFactory.InstantiateCarObject(racer, trackIndex);

        UserCarSettings userSettings = RacingCarsFactory.MakeUserSettings(config, racer.RaceStarterId);

        Repository.SaveCarStartersConfigs(userSettings);
    }
    public static UserCarSettings MakeUserSettings(StarterConfigInputs starterInputConfigs, string starterCarId)
    {
        var userConfig = new UserCarSettings();

        userConfig.StarterCarId        = starterCarId;
        userConfig.BrandSelected       = (BrandModel.BrandModelType)starterInputConfigs.SelectCarBranModelDdl.value;
        userConfig.ColorSelected       = (ColorModel.BodyColor)starterInputConfigs.SelectCarColorDdl.value;
        userConfig.TireSelected        = (TireModel.TireType)starterInputConfigs.SelectCarTireDdl.value;
        userConfig.VehicleBodySelected = (VehicleBodyModel.VehicleType)starterInputConfigs.SelectCarBodyDdl.value;
        userConfig.EngineSelected      = (EngineModel.EngineType)starterInputConfigs.SelectCarEngineDdl.value;
        return(userConfig);
    }
    public static RaceStarterModel MakeRaceStarter(StarterConfigInputs starterInputConfigs)
    {
        var raceStarter = new RaceStarterModel();

        raceStarter.RaceStarterId = GenerateStarterId();
        raceStarter.BrandModel    = new BrandModel((BrandModel.BrandModelType)starterInputConfigs.SelectCarBranModelDdl.value);
        raceStarter.Color         = new ColorModel((ColorModel.BodyColor)starterInputConfigs.SelectCarColorDdl.value);
        raceStarter.Tire          = new TireModel((TireModel.TireType)starterInputConfigs.SelectCarTireDdl.value);
        raceStarter.VehicleBody   = new VehicleBodyModel((VehicleBodyModel.VehicleType)starterInputConfigs.SelectCarBodyDdl.value);
        raceStarter.Engine        = new EngineModel((EngineModel.EngineType)starterInputConfigs.SelectCarEngineDdl.value);
        return(raceStarter);
    }
 RaceStarterModel IRacingCarsFactory.MakeRaceStarter(StarterConfigInputs starterInputConfigs)
 {
     return(MakeRaceStarter(starterInputConfigs));
 }