public static void AssembleParameters() { CompileProcesses.Clear(); CompileProcesses.Add(new BSPPack()); CompileProcesses.Add(new CubemapProcess()); CompileProcesses.Add(new NavProcess()); CompileProcesses.Add(new ShutdownProcess()); CompileProcesses.Add(new UtilityProcess()); CompileProcesses.Add(new CustomProcess()); //collect new metadatas var metadatas = Directory.GetDirectories(ParametersFolder); foreach (var metadata in metadatas) { string folderName = Path.GetFileName(metadata); if (CompileProcesses.Any(c => String.Equals(c.Metadata.Name, folderName, StringComparison.CurrentCultureIgnoreCase))) { continue; } var compileProcess = new CompileExecutable(folderName); CompileProcesses.Add(compileProcess); } //collect legacy metadatas var csvMetaDatas = Directory.GetFiles(ParametersFolder + "\\", "*.meta"); foreach (var metadata in csvMetaDatas) { string name = Path.GetFileName(metadata).Replace(".meta", ""); if (CompileProcesses.Any(c => String.Equals(c.Metadata.Name, name, StringComparison.CurrentCultureIgnoreCase))) { continue; } var compileProcess = new CompileExecutable(name); CompileProcesses.Add(compileProcess); } CompileProcesses = new ObservableCollection <CompileProcess>(CompileProcesses.OrderBy(c => c.Metadata.Order)); AssemblePresets(); }
public static void AssembleParameters() { CompileProcesses.Clear(); var metadatas = Directory.GetFiles(ParametersFolder + "\\", "*.meta"); foreach (var metadata in metadatas) { var compileProcess = new CompileExecutable(metadata); CompileProcesses.Add(compileProcess); } CompileProcesses.Add(new BSPPack()); CompileProcesses.Add(new CompileCopy()); CompileProcesses = new ObservableCollection <CompileProcess>(CompileProcesses.OrderBy(c => c.Order)); AssemblePresets(); }
public static void AssembleParameters() { var allPresetMapNames = new List <string>(); if (!Directory.Exists(PresetsMapsFolder)) { Directory.CreateDirectory(PresetsMapsFolder); } // get all preset map names, as there is no knowledge of them at this point on startup var presetsMaps = Directory.GetDirectories(PresetsMapsFolder); foreach (string presetPath in presetsMaps) { allPresetMapNames.Add(Path.GetFileName(presetPath)); } CompileProcesses.Clear(); string tempPresetName = "presetMapUsedToFillPresetDictionaryOnly"; var presetMapNames = allPresetMapNames.Any() ? allPresetMapNames : new List <string>() { tempPresetName }; foreach (var presetMap in presetMapNames) { CompileProcesses.Add(presetMap, new ObservableCollection <CompileProcess>()); CompileProcesses[presetMap].Add(new BSPPack()); CompileProcesses[presetMap].Add(new CubemapProcess()); CompileProcesses[presetMap].Add(new NavProcess()); CompileProcesses[presetMap].Add(new ShutdownProcess()); CompileProcesses[presetMap].Add(new UtilityProcess()); CompileProcesses[presetMap].Add(new CustomProcess()); //collect new metadatas var metadatas = Directory.GetDirectories(ParametersFolder); foreach (var metadata in metadatas) { string folderName = Path.GetFileName(metadata); if (CompileProcesses[presetMap].Any(c => String.Equals(c.Metadata.Name, folderName, StringComparison.CurrentCultureIgnoreCase))) { continue; } var compileProcess = new CompileExecutable(folderName); CompileProcesses[presetMap].Add(compileProcess); } //collect legacy metadatas var csvMetaDatas = Directory.GetFiles(ParametersFolder + "\\", "*.meta"); foreach (var metadata in csvMetaDatas) { string name = Path.GetFileName(metadata).Replace(".meta", ""); if (CompileProcesses[presetMap].Any(c => String.Equals(c.Metadata.Name, name, StringComparison.CurrentCultureIgnoreCase))) { continue; } var compileProcess = new CompileExecutable(name); CompileProcesses[presetMap].Add(compileProcess); } CompileProcesses[presetMap] = new ObservableCollection <CompileProcess>(CompileProcesses[presetMap].OrderBy(c => c.Metadata.Order)); AssemblePreset(presetMap); } AssemblePresetMaps(); // remove temp preset map name if used if (CompileProcesses.Any(x => x.Key == tempPresetName)) { CompileProcesses.Remove(tempPresetName); } }