public static void DoEdit(ChangeArgs args) { // collect characters AICCollection result = new AICCollection(); foreach (Change c in Version.Changes) { if (!c.IsChecked || !(c is AICChange)) { continue; } AICCollection collection = ((AICChange)c).Collection; foreach (AICharacter aic in collection.Values) { // topmost aics have priority if (!result.ContainsKey(aic.Index)) { result.Add(aic.Index, aic); } } } CreateEdit(result).Activate(args); }
static void ParseAll() { AICCollection collection = new AICCollection(); foreach (string file in Directory.EnumerateFiles("decompiled", "*.txt")) { string name = Path.GetFileNameWithoutExtension(file); if (!Enum.TryParse(name, true, out AICIndex index)) { continue; } Console.WriteLine(index); using (StreamReader sr = new StreamReader(file)) { AICharacter aic = new AICharacter() { Index = (int)index, Name = index.ToString(), Personality = Parse(sr) }; collection.Add((int)index, aic); } } using (FileStream fs = new FileStream("vanilla.aic", FileMode.Create)) collection.Write(fs); }