Exemplo n.º 1
0
        public static PlatformScanResult ScanPlatforms(string roms_folder)
        {
            var result = new PlatformScanResult();

            var dir = new DirectoryInfo(roms_folder);

            foreach (var child_dir in dir.EnumerateDirectories())
            {
                var platform_id = TryToInferPlatformId(child_dir.Name);

                if (platform_id != PlatformId.UNKNOWN)
                {
                    var platform = new Platform(platform_id, PlatformIdMethods.GetDisplayName(platform_id),
                                                child_dir.FullName);

                    result.Platforms.Add(platform);
                }
                else
                {
                    result.UnrecognizedDirectories.Add(child_dir);
                }
            }

            return(result);
        }
Exemplo n.º 2
0
        private void InitCreatePlatformContextMenu()
        {
            var available_platforms_list_for_manual_assign = PlatformIdMethods.GetAllValid();

            foreach (var platform in _scan_platforms.Platforms)
            {
                if (available_platforms_list_for_manual_assign.Contains(platform.PlatformId))
                {
                    available_platforms_list_for_manual_assign.Remove(platform.PlatformId);
                }
            }

            _platform_assign_context_menu = new PlatformAssignContextMenu(available_platforms_list_for_manual_assign, OnCreatePlatformContextMenuItemSelected);
        }
Exemplo n.º 3
0
        private void AddNewAssignedPlatform(DirectoryInfo directory, PlatformId platform_id)
        {
            var platform = new Platform(platform_id, PlatformIdMethods.GetDisplayName(platform_id), directory.FullName);

            int last_selected_platform_index = detectedPlatforms.SelectedIndex;

            _scan_platforms.Platforms.Add(platform);

            _scan_platforms.UnrecognizedDirectories.Remove(directory);

            detectedPlatforms.SetObjects(_scan_platforms.Platforms);

            listUnrecognized.SetObjects(_scan_platforms.UnrecognizedDirectories);

            detectedPlatforms.SelectedIndex = last_selected_platform_index;

            ScanRoms(platform);

            UpdateRomsPanel();
        }