Exemple #1
0
        public MainWindowViewModel(IBoardViewModel boardViewModel,
                                   IReplayService replayService,
                                   ILastPlayedReplayService lastPlayedReplayService)
        {
            BoardViewModel               = boardViewModel;
            this.replayService           = replayService;
            this.lastPlayedReplayService = lastPlayedReplayService;

            ProgressFilePath = lastPlayedReplayService.GetLastReplay();

            replayService.NewBoardStateAvailable += OnNewBoardStateAvailable;

            LoadGame   = new Command(DoLoadGame);
            BrowseFile = new Command(DoBrowseFile);
            NextMove   = new Command(DoNextMove,
                                     () => IsReplayLoaded && MoveIndex < MaxMoveIndex,
                                     new PropertyChangedCommandUpdater(this, nameof(IsReplayLoaded),
                                                                       nameof(MoveIndex),
                                                                       nameof(MaxMoveIndex)));
            PreviousMove = new Command(DoPreviousMove,
                                       () => IsReplayLoaded && MoveIndex > 0,
                                       new PropertyChangedCommandUpdater(this, nameof(IsReplayLoaded),
                                                                         nameof(MoveIndex)));
            ShowAboutHelp = new Command(DoShowAboutHelp);

            ProgressRows = new ObservableCollection <ProgressRow>();
        }
 public MainWindowViewModel(IReadOnlyList <IPlayerViewModel> playerViewModels, IBoardViewModel boardViewModel, IBoard board, Action <string> showWinnerDialog)
 {
     _playerViewModels = playerViewModels;
     _boardViewModel   = boardViewModel;
     _board            = board;
     _showWinnerDialog = showWinnerDialog;
 }
 public CommandsViewModel(ActionManager actionManager, IContext<Player> selectedPlayer, IBoardViewModel boardViewModel, Notifier notifier)
 {
     if (actionManager == null)
         throw new ArgumentNullException();
     this.actionManager = actionManager;
     this.selectedPlayer = selectedPlayer;
     this.boardViewModel = boardViewModel;
     notifier.SubscribeToViewModel(this);
 }
        public OverlayBoardViewModel(IBoardViewModel boardViewModel, IDispatcherTimer dispatcherTimer)
        {
            _dispatcherTimer = dispatcherTimer;
            _boardViewModel  = boardViewModel;

            _dispatcherTimer.Tick += (s, e) => {
                _dispatcherTimer.Stop();
                BoardViewModel.Visible = false;
            };
        }
Exemple #5
0
 public FigurePresenter(IBoardViewModel boardViewModel,
                        IFigureController figureController,
                        IFigureViewModel figureViewModel,
                        IFigureViewFactory figureViewFactory)
 {
     BoardViewModel    = boardViewModel.CheckNull();
     FigureController  = figureController.CheckNull();
     FigureViewModel   = figureViewModel.CheckNull();
     FigureViewFactory = figureViewFactory.CheckNull();
 }
Exemple #6
0
 public GamePresenter(IBoardView boardView,
                      IGameMaster gameMaster,
                      IBoardModel boardModel,
                      IBoardViewModel boardViewModel)
 {
     BoardView      = boardView.CheckNull();
     GameMaster     = gameMaster.CheckNull();
     BoardModel     = boardModel.CheckNull();
     BoardViewModel = boardViewModel.CheckNull();
 }
Exemple #7
0
        public MainViewModel(
            IBoardViewModel boardViewModel,
            IScoreViewModel scoreViewModel)
        {
            BoardViewModel = boardViewModel;
            ScoreViewModel = scoreViewModel;

            RestartCommand   = new DelegateCommand(Load);
            PlayAgainCommand = new DelegateCommand(OnPlayAgainExecute);
        }
        public MainWindowViewModelSampleData()
        {
            var spielerViewModels = new List <IPlayerViewModel>
            {
                new PlayerViewModelSampleData("Player A", new Color(128, 0, 0)),
                new PlayerViewModelSampleData("Player B", new Color(0, 0, 128))
                {
                    HasTurn = false
                }
            };

            _playerViewModels = spielerViewModels;

            _boardViewModel = new BoardViewModelSampleData();
        }
Exemple #9
0
        public MovesViewModel(IViewManager viewManager, IBoardViewModel board)
        {
            _viewManager = viewManager;
            _board       = board;

            NewGameCommand = new NotifyCommand(NewGameCommandHandler);

            //var newGame = new NewGameViewModel(new PlayerViewModelFactory());
            //newGame.Initialize();
            //newGame.GiveDefaultFigureSetCommand.Execute();
            //Player1 = newGame.Player1;
            //Player2 = newGame.Player2;

            // ActivePlayer = Player1;
        }
        public AnchorViewModel(Node node, IEnumerable<NodeDiseaseCounter> diseaseCounters, IBoardViewModel boardViewModel, Notifier notifier)
        {
            this.node = node;
            this.nodeDiseaseCounters = diseaseCounters;
            this.boardViewModel = boardViewModel;

            foreach (NodeDiseaseCounter ndc in diseaseCounters)
            {
                ndc.Infected += Ndc_Infected;
                ndc.Treated += Ndc_Treated;
            }

            notifier.SubscribeToViewModel(this);

            opacityTimer = new DispatcherTimer(DispatcherPriority.Render) { Interval = TimeSpan.FromMilliseconds(1) };
            opacityTimer.Tick += opacityTimer_Tick;

            GetAlertColors();
        }
        public InfectionViewModel(InfectionManager infectionManager, IEnumerable<NodeDiseaseCounter> nodeCounters, IBoardViewModel boardViewModel, Notifier notifier)
        {
            this.boardViewModel = boardViewModel;
            this.infectionManager = infectionManager;
            notifier.SubscribeToViewModel(this);

            foreach (NodeDiseaseCounter ndc in nodeCounters)
            {
                ndc.Infected += Ndc_Infected;
            }

            timer = new DispatcherTimer();
            timer.Interval = TimeSpan.FromSeconds(2);
            timer.Tick += Timer_Tick;

            animationTimer = new DispatcherTimer();
            animationTimer.Interval = TimeSpan.FromMilliseconds(1);
            animationTimer.Tick += TranslateTimer_Tick;
        }
Exemple #12
0
 void CreateBoardAndPlayerRows()
 {
     PlayerRows = new ObservableCollection <IHandHistoryRow>();
     _board     = new BoardViewModel();
 }
Exemple #13
0
        public MainWindowViewModel(IBoardViewModel boardViewModel,
                                   IBoardPlacementViewModel boardPlacementViewModel,
                                   ILanguageSelectionViewModel languageSelectionViewModel,
                                   IGameService gameService,
                                   IApplicationSettingsRepository applicationSettingsRepository,
                                   IProgressFileVerifierFactory progressFileVerifierFactory,
                                   bool disableClosingDialog)
        {
            CultureManager.CultureChanged += RefreshCaptions;

            this.gameService = gameService;
            this.applicationSettingsRepository = applicationSettingsRepository;
            this.progressFileVerifierFactory   = progressFileVerifierFactory;
            this.disableClosingDialog          = disableClosingDialog;

            LanguageSelectionViewModel = languageSelectionViewModel;
            BoardPlacementViewModel    = boardPlacementViewModel;
            BoardViewModel             = boardViewModel;

            DebugMessages = new ObservableCollection <string>();
            GameProgress  = new ObservableCollection <string>();

            gameService.NewBoardStateAvailable += OnNewBoardStateAvailable;
            gameService.WinnerAvailable        += OnWinnerAvailable;
            gameService.NewDebugMsgAvailable   += OnNewDebugMsgAvailable;

            IsAutoScrollDebugMsgActive = true;
            IsAutoScrollProgressActive = true;

            PreventWindowClosingToAskUser = !disableClosingDialog;

            TopPlayerName = "- - - - -";
            MovesLeft     = "--";

            BrowseDll = new Command(DoBrowseDll,
                                    () => GameStatus != GameStatus.Active,
                                    new PropertyChangedCommandUpdater(this, nameof(GameStatus)));

            Start = new Command(async() => await DoStart(),
                                () => GameStatus != GameStatus.Active && !string.IsNullOrWhiteSpace(DllPathInput),
                                new PropertyChangedCommandUpdater(this, nameof(GameStatus), nameof(DllPathInput)));

            StartWithProgress = new ParameterrizedCommand <string>(async filePath => await DoStartWithProgress(filePath),
                                                                   _ => GameStatus != GameStatus.Active && !string.IsNullOrWhiteSpace(DllPathInput),
                                                                   new PropertyChangedCommandUpdater(this, nameof(GameStatus), nameof(DllPathInput)));
            Capitulate = new Command(DoCapitulate,
                                     IsMoveApplyable,
                                     new PropertyChangedCommandUpdater(this, nameof(GameStatus)));

            ShowAboutHelp      = new Command(DoShowAboutHelp);
            DumpDebugToFile    = new Command(DoDumpDebugToFile);
            DumpProgressToFile = new Command(DoDumpProgressToFile);
            CloseWindow        = new Command(DoCloseWindow);

            GameStatus = GameStatus.Unloaded;

            DllPathInput              = applicationSettingsRepository.LastUsedBotPath;
            IsDebugSectionExpanded    = applicationSettingsRepository.IsDebugSectionExpanded;
            IsProgressSectionExpanded = applicationSettingsRepository.IsProgressSecionExpanded;

            botCountDownTimer = new Timer(BotCountDownTimerOnTick, null, Timeout.Infinite, Timeout.Infinite);
            StopTimer();
        }
 public MainViewViewModel(List <IPlayerViewModel> Players)
 {
     _playerViewModels = Players;
     _playBoard        = new BoardViewModel(new Board(_playerViewModels[0].Player, _playerViewModels[1].Player));
 }
 public PawnViewModel(IBoardViewModel boardViewModel, IContext<Player> selectedPlayer)
 {
     this.boardViewModel = boardViewModel;
     this.selectedPlayer = selectedPlayer;
     this.selectedPlayer.ContextChanged += SelectedPlayer_ContextChanged;
 }
 public MainWindowViewModel(IReadOnlyList <IPlayerViewModel> playerViewModels, IBoardViewModel boardViewModel, IBoard board)
 {
     _playerViewModels = playerViewModels;
     _boardViewModel   = boardViewModel;
     _board            = board;
 }