public EducationViewModel() { if (IsInDesignMode) EducatedAIPlayer = new SticksAIPlayer("Bot", 0); else { InitializeCommands(); RegisterToMessages(); } }
public GameViewModel() { if (IsInDesignMode) _game = new SticksGame(11, 1, new Player("Player"), new SticksAIPlayer("Bot", 0)); else { InitializeCommands(); RegisterToMessages(); _educatedAIPlayer = new SticksAIPlayer(BotNames.GetRandom(), 1000); } }
private void RegisterToMessages() { Messenger.Default.Register<Player>(this, Tokens.PlayerNameChanged, (player) => { if (_humanPlayer == null) _humanPlayer = player; RaisePropertyChanged("HumanPlayerName"); (NewGameCommand as RelayCommand).RaiseCanExecuteChanged(); }); Messenger.Default.Register<SticksAIPlayer>(this, Tokens.EducationEnded, (educatedAIPlayer) => { _educatedAIPlayer = educatedAIPlayer; _educatedAIPlayer.ResetWinsCount(); RaisePropertyChanged("EducatedAIPlayerName"); (NewGameCommand as RelayCommand).RaiseCanExecuteChanged(); }); }
private void InitializeCommands() { RunEducationalGamesCommand = new RelayCommand(() => { _currentEducationalGamesCount = 0; _firstAI = new SticksAIPlayer(BotNames.GetRandom(), 0); _secondAI = new SticksAIPlayer(BotNames.GetRandom(), 0); Messenger.Default.Send<Tokens, MainViewModel>(Tokens.EducationStarted); RunEducationalGames(); }, () => { return !_isGameInProgress; }); }