protected override void LoadData(IniFile ini) {
Name = ini["EVENT"].GetPossiblyEmpty("NAME");
Description = AcStringValues.DecodeDescription(ini["EVENT"].GetPossiblyEmpty("DESCRIPTION"));
TrackId = ini["RACE"].GetNonEmpty("TRACK");
TrackConfigurationId = ini["RACE"].GetNonEmpty("CONFIG_TRACK");
CarId = ini["RACE"].GetNonEmpty("MODEL");
CarSkinId = ini["CAR_0"].GetNonEmpty("SKIN");
WeatherId = ini["WEATHER"].GetNonEmpty("NAME") ?? WeatherManager.Instance.GetDefault()?.Id;
Time = (int)Game.ConditionProperties.GetSeconds(ini["LIGHTING"].GetInt("SUN_ANGLE", 40));
Temperature = ini["TEMPERATURE"].GetDouble("AMBIENT", 26);
RoadTemperature = ini["TEMPERATURE"].GetDouble("ROAD", 32);
TrackPreset = Game.DefaultTrackPropertiesPresets.GetByIdOrDefault(ini["DYNAMIC_TRACK"].GetIntNullable("PRESET")) ??
Game.DefaultTrackPropertiesPresets[4];
DisplayType = ini.ContainsKey(@"SESSION_1") ? ToolsStrings.Common_Weekend :
(ini["SESSION_0"].GetNonEmpty("NAME")?.Replace(@" Session", "") ?? ToolsStrings.Session_Race);
StartingPosition = ini["SESSION_0"].GetIntNullable("STARTING_POSITION");
OpponentsCount = ini["RACE"].GetInt("CARS", 1) - 1;
if (OpponentsCount > 0 && StartingPosition == null) {
StartingPosition = OpponentsCount + 1;
}
if (StartingPosition != null || ini.ContainsKey(@"SESSION_1")) {
Laps = ini["SESSION_0"].GetIntNullable("LAPS") ?? ini["RACE"].GetIntNullable("RACE_LAPS") ?? 0;
} else {
Laps = null;
}
AiLevel = ini["RACE"].GetInt("AI_LEVEL", 100);
LoadObjects();
LoadConditions(ini);
LoadProgress();
}