protected object MigrateFromVersion0(object oldConfig) { ConfigurationV0 config = (ConfigurationV0)oldConfig; ConfigurationV1 newConfig = new ConfigurationV1(); newConfig.ExtraDebugLogging = config.ExtraDebugLogging; foreach (var kvp in config.State.AmbientVolumes) { newConfig.AmbientVolumes.Add(kvp.Key, kvp.Value); } foreach (var kvp in config.State.EffectVolumes) { newConfig.VehicleVolumes.Add(kvp.Key, 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); }