Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }