Exemplo n.º 1
0
        /// <summary>
        /// Builds a RomModel for every rom
        /// </summary>
        public static RomModel[] GetRomInformationFromDisk(string rootRomDirectory)
        {
            string consoleAliases = ConfigurationManager.AppSettings.Get("ConsoleAliases");

            RomModel[] models = null;

            try
            {
                models = new RomModel[EnumerateRomFiles(rootRomDirectory)];
            }
            catch (DirectoryNotFoundException ex)
            {
                DebugManager.ShowErrorDialog("An error occured getting the rom directory", ex);
                return(models);
            }

            string[] romExtensions = new EmuManagerModel().RomExtensions.Split(',');

            //TODO: We probably want to take a look at the nesting here
            int x = 0;

            try
            {
                foreach (string extension in romExtensions)
                {
                    string[] files = System.IO.Directory.GetFiles(rootRomDirectory, "*." + extension, SearchOption.AllDirectories);
                    for (int i = 0; i < files.Length; i++)
                    {
                        models[x] = PopulateRomModelFromRomPathRomFileName(files[i], consoleAliases);
                        x++;
                    }
                }
            }
            catch (NullReferenceException)
            {
                // This would mean an improperly formatted emulator association was present if hit
            }

            return(models);
        }