Example #1
0
        public VehicleFuelSpecification GetFuelSpecificationForVehicleHash(VehicleHash vehicleHash)
        {
            if (_fuelSpecificationCache.ContainsKey(vehicleHash))
            {
                return(_fuelSpecificationCache[vehicleHash]);
            }

            var modelName = Enum.GetName(typeof(VehicleHash), vehicleHash).ToLowerInvariant();

            var specification = VehicleFuelSpecifications.FirstOrDefault(s => string.Equals(s.ModelName, modelName, StringComparison.OrdinalIgnoreCase));

            if (specification == null)
            {
                FuelMain.Log("No fuel specification found for vehicle model: " + modelName);
            }
            else
            {
                _fuelSpecificationCache.Add(vehicleHash, specification);
                return(specification);
            }

            VehicleFuelSpecifications.Add(new VehicleFuelSpecification {
                FuelCapacity = DefaultFuelCapacity, ConsumptionMultiplier = DefaultConsumptionMultiplier, FuelType = DefaultFuelType, ModelName = modelName
            });

            this.Save();

            return(GetFuelSpecificationForVehicleHash(vehicleHash));
        }
Example #2
0
 public void Save()
 {
     try
     {
         using (var writer = File.CreateText(ConfigPath))
         {
             GetSerializer().Serialize(writer, this);
             writer.Flush();
             writer.Close();
         }
     }
     catch (Exception ex)
     {
         FuelMain.Log("Failed to save config: " + ex);
     }
 }
Example #3
0
        public static Config LoadConfig()
        {
            if (!File.Exists(ConfigPath))
            {
                return(CreateNewConfig());
            }

            using (var reader = File.OpenRead(ConfigPath))
            {
                try
                {
                    return((Config)GetSerializer().Deserialize(reader) ?? CreateNewConfig());
                }
                catch (Exception ex)
                {
                    FuelMain.Log("Failed to load config: " + ex);
                }
            }

            return(CreateNewConfig());
        }