public StrategyDialogService(PlayerSettingsViewModel playerSettingsViewModel, ISendSettings sendSettings) { dialogVM = playerSettingsViewModel; dialogVM.OnPressOK += DialogVM_OnPressOK; _sendSettings = sendSettings; }
private void Settings_Executed(object sender, ExecutedRoutedEventArgs e) { e.Handled = true; PauseGame(); if (!ViewModel.IsGameRunning) { PlayerSettingsViewModel vm = TryShowSettings(); if (vm != null) { Controller.changePlayerSettings( new Tuple <Model.Player.Types, Model.Player.Types>(PlayerViewModel.PlayerTypeToModel(vm.WhitePlayer), PlayerViewModel.PlayerTypeToModel(vm.BlackPlayer)), new Tuple <string, string>(vm.WhitePlayer.Name, vm.BlackPlayer.Name), new Tuple <Model.Player.Levels, Model.Player.Levels>(PlayerViewModel.PlayerLevelToModel(vm.WhitePlayer), PlayerViewModel.PlayerLevelToModel(vm.BlackPlayer))); } } }
private void NewGame() { PlayerSettingsViewModel vm = TryShowSettings(); if (vm != null) { Controller.changePlayerSettings( new Tuple <Model.Player.Types, Model.Player.Types>(PlayerViewModel.PlayerTypeToModel(vm.WhitePlayer), PlayerViewModel.PlayerTypeToModel(vm.BlackPlayer)), new Tuple <string, string>(vm.WhitePlayer.Name, vm.BlackPlayer.Name), new Tuple <Model.Player.Levels, Model.Player.Levels>(PlayerViewModel.PlayerLevelToModel(vm.WhitePlayer), PlayerViewModel.PlayerLevelToModel(vm.BlackPlayer))); ModelException.TryThrow <GameController.T>(Controller.TryNewGame()); ModelException.TryThrow <GameController.T>(Controller.TryRun()); FocusBoard(); CommandManager.InvalidateRequerySuggested(); } }
private PlayerSettingsViewModel TryShowSettings() { PlayerSettingsViewModel vm = (PlayerSettingsViewModel)ViewModel.Settings.Clone(); SettingsWindow win = new SettingsWindow() { Owner = this, ViewModel = vm }; if (win.ShowDialog() ?? false) { return(vm); } else { return(null); } }
public override GamePlayer Build(StoneColor color, TimeControlSettingsViewModel timeSettings, PlayerSettingsViewModel settings) { return(new HumanPlayerBuilder(color) .Name(color == StoneColor.Black ? _localizer.Black : _localizer.White) .Rank("NR") .Clock(timeSettings.Build()) .Build()); }
public abstract GamePlayer Build(StoneColor color, TimeControlSettingsViewModel timeSettings, PlayerSettingsViewModel settings);
public override GamePlayer Build(StoneColor color, TimeControlSettingsViewModel timeSettings, PlayerSettingsViewModel settings) { IAIProgram newInstance = (IAIProgram)Activator.CreateInstance(_ai.GetType()); if (settings.IsFuego) { Fuego fuego = (Fuego)newInstance; fuego.Ponder = settings.FuegoPonder; fuego.AllowResign = settings.FuegoResign; fuego.MaxGames = settings.FuegoMaxGames; } else if (settings.IsFluffy) { Fluffy fluffy = (Fluffy)newInstance; fluffy.TreeDepth = settings.FluffyTreeDepth; } return(new AiPlayerBuilder(color) .Name(this._aiLocalizedMetadata.Name + "(" + color.ToIgsCharacterString() + ")") .Rank("NR") .Clock(timeSettings.Build()) .AiProgram(newInstance) .Build()); }