public void InitNewProject(string[] fighters, AIType[] types) { foreach (string name in fighters) { int fileCount = 0; foreach (AIType type in types) { if (File.Exists(GetFolderPath(name, type, AISource.game_file) + AITypeToString[type] + ".bin")) { try { AIFt.AIFile file = new AIFt.AIFile(name, type, AISource.game_file); fileCount++; } catch (Exception e) { Console.WriteLine("ERROR: cannot load file ({0}: {1})", name, AITypeToString[type]); Console.WriteLine(e.Message); } } } if (fileCount == 0) { Console.WriteLine("NOTICE: no AI files loaded from fighter '{0}'", name); } } InitOpenProject(); }
public void AddProjectFiles(string[] fighters, AIType[] types, AISource source) { foreach (string name in fighters) { List <AIFt.AIFile> newFiles = new List <AIFt.AIFile>(); int ftIndex = this.fighters.FindIndex(ft => ft.name == name); foreach (AIType type in types) { if (File.Exists(GetFolderPath(name, type, source) + AITypeToString[type] + ".bin") && (ftIndex == -1 || !this.fighters[ftIndex].files.Exists(file => file.type == type))) { try { AIFt.AIFile file = new AIFt.AIFile(name, type, source); if (Directory.Exists(file.folder_address)) { newFiles.Add(file); } } catch (Exception e) { Console.WriteLine("Error on file load ({0}: {1})", name, AITypeToString[type]); Console.WriteLine(e.Message); } } } //if the fighter doesn't exist, add it if (ftIndex == -1 && newFiles.Count > 0) { this.fighters.Add(new AIFt(name, newFiles)); } else { foreach (var file in newFiles) { this.fighters[ftIndex].files.Add(file); } } Sort(); } }