protected object MigrateFromVersion2(object oldConfig) { ConfigurationV2 config = (ConfigurationV2)oldConfig; ConfigurationV3 newConfig = new ConfigurationV3(); newConfig.ExtraDebugLogging = config.ExtraDebugLogging; foreach (var kvp in config.AmbientVolumes) { newConfig.AmbientSounds.Add(kvp.Key, new ConfigurationV3.Sound() { Volume = kvp.Value }); } foreach (var kvp in config.AnimalVolumes) { newConfig.AnimalSounds.Add(kvp.Key, new ConfigurationV3.Sound() { Volume = kvp.Value }); } foreach (var kvp in config.BuildingVolumes) { newConfig.BuildingSounds.Add(kvp.Key, new ConfigurationV3.Sound() { Volume = kvp.Value }); } foreach (var kvp in config.VehicleVolumes) { newConfig.VehicleSounds.Add(kvp.Key, new ConfigurationV3.Sound() { Volume = kvp.Value }); } foreach (var kvp in config.MiscVolumes) { newConfig.MiscSounds.Add(kvp.Key, new ConfigurationV3.Sound() { Volume = kvp.Value }); } return(newConfig); }
protected object MigrateFromVersion1(object oldConfig) { ConfigurationV1 config = (ConfigurationV1)oldConfig; ConfigurationV2 newConfig = new ConfigurationV2(); newConfig.ExtraDebugLogging = config.ExtraDebugLogging; foreach (var kvp in config.AmbientVolumes) { newConfig.AmbientVolumes.Add(kvp.Key, kvp.Value); } foreach (var kvp in config.AnimalVolumes) { newConfig.AnimalVolumes.Add(kvp.Key, kvp.Value); } foreach (var kvp in config.BuildingVolumes) { newConfig.BuildingVolumes.Add(kvp.Key, kvp.Value); } foreach (var kvp in config.VehicleVolumes) { switch (kvp.Key) { case "Small Car Movement": newConfig.VehicleVolumes.Add("Small Car Sound", kvp.Value); break; case "Large Car Movement": newConfig.VehicleVolumes.Add("Large Car Sound", kvp.Value); break; default: newConfig.VehicleVolumes.Add(kvp.Key, kvp.Value); break; } } foreach (var kvp in config.MiscVolumes) { newConfig.MiscVolumes.Add(kvp.Key, kvp.Value); } return(newConfig); }