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();
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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);
            }
        }