public static void Save(GameSave save) { //ClearSave(); var values = save.GetValues(); using (var re = new RegistryEditor("Software\\Delve Interactive\\CHANGE")) { foreach (var kvp in values) { var key = RegistryKeyMapper.GetKey(kvp.Key); re.SetValue(key, kvp.Value); } save.Unknown.ForEach(item => re.SetValue(item.Key, item.Value)); foreach (var kvp in save.Perks) { var key = RegistryKeyMapper.GetKey("perk_" + kvp.Key.ToString()); re.SetValue(key, kvp.Value ? 1 : 0); } foreach (var item in save.Inventory.Items) { var key = RegistryKeyMapper.GetKey("item_" + item.name); re.SetValue(key, item.amount); } } }