public static WeaknessIndex LoadWeaknessIndex() { WeaknessIndex w = new WeaknessIndex(); WeaknessSaveFile wsf = new WeaknessSaveFile(); wsf = EncryptionManager.DeCrypt <WeaknessSaveFile>(wPath); w.Index = RetrieveWeaknessKVPs(wsf.Index, wsf); w.Reality = RetrieveWeaknessKVPs(wsf.Reality, wsf); return(w); }
public static void SaveWeaknessIndex(WeaknessIndex w) { WeaknessSaveFile wsf = new WeaknessSaveFile(); if (w.Index.Count > 0) { StoreWeaknessKVPs(w.Index, wsf.Index); } if (w.Reality.Count > 0) { StoreWeaknessKVPs(w.Reality, wsf.Reality); } EncryptionManager.EncryptFile(wPath, wsf); }
private static Dictionary <string, HashSet <int> > RetrieveWeaknessKVPs(List <string> L, WeaknessSaveFile wsf) { Dictionary <string, HashSet <int> > D = new Dictionary <string, HashSet <int> >(); foreach (string entry in L) { string[] kvp = entry.Split('%'); string key = kvp[0]; if (!D.ContainsKey(kvp[0])) { D.Add(key, new HashSet <int>()); } string[] values = kvp[1].Split(','); foreach (string v in values) { D[key].Add(Int32.Parse(v)); } } return(D); }