public static void PrepareIniRaceMode(RaceProperties properties) {
var ini = Path.Combine(FileUtils.GetDocumentsCfgDirectory(), "race.ini");
var iniFile = new IniFile(ini);
for (var i = 1; i < 100; i++) {
var key = "CAR_" + i;
if (iniFile.ContainsKey(key)) {
iniFile.Remove(key);
} else {
break;
}
}
iniFile.Save();
DisableGhostCar();
IniFile.Write(ini, "RACE", "CARS", properties.BotCars.Count() + 1);
IniFile.Write(ini, "RACE", "AI_LEVEL", properties.AiLevel);
IniFile.Write(ini, "RACE", "DRIFT_MODE", "0");
IniFile.Write(ini, "RACE", "RACE_LAPS", properties.RaceLaps);
IniFile.Write(ini, "RACE", "FIXED_SETUP", properties.FixedSetup);
IniFile.Write(ini, "RACE", "PENALTIES", properties.Penalties);
IniFile.Write(ini, "GROOVE", "VIRTUAL_LAPS", "10");
IniFile.Write(ini, "GROOVE", "MAX_LAPS", "30");
IniFile.Write(ini, "GROOVE", "STARTING_LAPS", "0");
IniFile.Write(ini, "SESSION_0", "NAME", "Quick Race");
IniFile.Write(ini, "SESSION_0", "TYPE", "3");
IniFile.Write(ini, "SESSION_0", "LAPS", properties.RaceLaps);
IniFile.Write(ini, "SESSION_0", "STARTING_POSITION", properties.StartingPosition);
IniFile.Write(ini, "SESSION_0", "DURATION_MINUTES", "0");
IniFile.Write(ini, "SESSION_0", "SPAWN_SET", "START");
var j = 0;
foreach (var botCar in properties.BotCars) {
var section = "CAR_" + ++j;
IniFile.Write(ini, section, "MODEL", botCar.CarId);
IniFile.Write(ini, section, "MODEL_CONFIG", "");
IniFile.Write(ini, section, "SETUP", botCar.Setup);
IniFile.Write(ini, section, "AI_LEVEL", botCar.AiLevel);
IniFile.Write(ini, section, "SKIN", botCar.SkinId);
IniFile.Write(ini, section, "DRIVER_NAME", botCar.DriverName);
IniFile.Write(ini, section, "NATIONALITY", botCar.Nationality);
}
}