public void PlayRandom() { var decks = ChooseRandomDecks(); try { var mp = MatchParameters.Default( player1: new PlayerParameters { Name = YourName, AvatarId = RandomEx.Next(), Deck = decks[0] }, player2: new PlayerParameters { Name = NameGenerator.GenerateRandomName(MediaLibrary.GetPlayerUnitNames()), AvatarId = RandomEx.Next(), Deck = decks[1] }, isTournament: false ); Ui.Match = new Match(mp); Ui.Match.Start(); } catch (Exception ex) { HandleException(ex); } Shell.ChangeScreen(this); }
public void Back() { if (SaveChanges()) { Shell.ChangeScreen(_previousScreen); } }
public override void Initialize() { Task.Factory .StartNew(() => MediaLibrary.LoadAll(ShowProgress)) .ContinueWith(tsk => { if (tsk.IsFaulted) { var message = tsk.Exception.GetBaseException().Message; MessageBox.Show( message, "Initialization error", MessageBoxButton.OK, MessageBoxImage.Error); LogFile.Error(message); Application.Current.Shutdown(); return; } var startScreen = ViewModels.StartScreen.Create(); Shell.ChangeScreen(startScreen); }, TaskScheduler.FromCurrentSynchronizationContext()); }
public void Play() { SelectDeck.ViewModel selectDeck1 = null; SelectDeck.ViewModel selectDeck2 = null; var configuration1 = new Configuration { ScreenTitle = "Select your deck", ForwardText = "Next", PreviousScreen = this, Forward = (deck1) => { if (selectDeck2 == null) { selectDeck2 = ViewModels.SelectDeck.Create(new Configuration { ScreenTitle = "Select your opponent deck", ForwardText = "Start the game", PreviousScreen = selectDeck1, Forward = (deck2) => { try { var mp = MatchParameters.Default( player1: new PlayerParameters { Name = YourName, AvatarId = RandomEx.Next(), Deck = deck1 }, player2: new PlayerParameters { Name = NameGenerator.GenerateRandomName(MediaLibrary.GetPlayerUnitNames()), AvatarId = RandomEx.Next(), Deck = deck2 }, isTournament: false); Ui.Match = new Match(mp); Ui.Match.Start(); } catch (Exception ex) { HandleException(ex); } Shell.ChangeScreen(this); } }); } Shell.ChangeScreen(selectDeck2); } }; selectDeck1 = ViewModels.SelectDeck.Create(configuration1); Shell.ChangeScreen(selectDeck1); }
public override void Initialize() { Task.Factory.StartNew(() => MediaLibrary.LoadAll(ShowProgress)) .ContinueWith(tsk => { var startScreen = ViewModels.StartScreen.Create(); Shell.ChangeScreen(startScreen); }, TaskScheduler.FromCurrentSynchronizationContext()); }
public void EditDeck() { var screen = ViewModels.BuildLimitedDeck.Create(_humanLibrary, new Deck(_humanPlayer.Deck)); Shell.ChangeScreen(screen, blockUntilClosed: true, shouldClosePrevious: false); if (screen.WasCanceled == false) { _humanPlayer.Deck = screen.Result; } Shell.ChangeScreen(this, blockUntilClosed: true); }
public void Load() { try { foreach (var loadGame in Handlers) { if (loadGame(Selected.Filename)) { break; } } } catch (Exception ex) { HandleException(ex); } Shell.ChangeScreen(_previousScreen); }
public void Start() { var p = TournamentParameters.Default( YourName, Avatar, PlayersCount, new[] { BoosterPack1, BoosterPack2, BoosterPack3 }, StarterPack, TypeOfTournament); try { Ui.Tournament = new Tournament(p); Ui.Tournament.Start(); } catch (Exception ex) { HandleException(ex); } Shell.ChangeScreen(_previousScreen); }
public void Open() { if (!SaveChanges()) { return; } var configuration = new Configuration { ScreenTitle = "Select a deck to edit", ForwardText = "Select", PreviousScreen = this, Forward = deck => { Deck = ViewModels.Deck.Create(deck); Shell.ChangeScreen(this); } }; var selectDeck = ViewModels.SelectDeck.Create(configuration); Shell.ChangeScreen(selectDeck); }
public void Back() { Shell.ChangeScreen(_previousScreen); }
public void LoadSavedGame() { var loadSavedGame = ViewModels.LoadSavedGame.Create(this); Shell.ChangeScreen(loadSavedGame); }
public void NewTournament() { var newTournament = ViewModels.NewTournament.Create(this); Shell.ChangeScreen(newTournament); }
public void DeckEditor() { var deckEditorScreen = ViewModels.DeckEditor.Create(this); Shell.ChangeScreen(deckEditorScreen); }
public void Back() { Shell.ChangeScreen(_configuration.PreviousScreen); }