private void ConfirmGameDetection(IGameDefault g, Border border)
        {
            border.Dispatcher.BeginInvoke((Action)(() =>
            {
                (_gameDefaults as IList <IGameDefault>).Remove(g);

                if (_gameDefaults.Count() > 0)
                {
                    var parentStkPanel = border.Parent as StackPanel;
                    Border newBorder = new Border()
                    {
                        Style = mainGrid.TryFindResource("GameDetectionBorderStyle") as Style,
                        Child = new Button()
                        {
                            Style = mainGrid.TryFindResource("GameAdditionButtonTemplate") as Style
                        }
                    };
                    if (parentStkPanel.Children.Count < Defined.MAX_GAME_DETECTORS_IN_COLUMN)
                    {
                        parentStkPanel.Children.Add(newBorder);
                    }
                    else
                    {
                        StackPanel newStkPanel = new StackPanel()
                        {
                            Style = mainGrid.TryFindResource("GameDetectorsStackPanelStyle") as Style
                        };
                        newStkPanel.Children.Add(newBorder);
                        gameDetectorsParent.Children.Add(newStkPanel);
                    }
                }
                EMM_GameDetector currDetectorControl = new EMM_GameDetector(g);

                _gameSeachers.Add(new GameSearcher(g, currDetectorControl, _games));
                currDetectorControl.Searcher = _gameSeachers.LastOrDefault();
                currDetectorControl.Searcher.StartSearch();
                border.Child = currDetectorControl;
                border.Background = Defined.Colors.AlternateBackground;

                if (_gameSeachers.Count == 1)
                {
                    thumbnail.Visibility = Visibility.Visible;
                }
            }), DispatcherPriority.Background);
        }
Ejemplo n.º 2
0
 public GameSearcher(IGameDefault def, EMM_GameDetector control, List <Game> games)
 {
     GameDefault    = def;
     GuiControl     = control;
     ConfirmedGames = games;
 }