private void PakerButtonClick(object sender, RoutedEventArgs e)
 {
     if (this.DataContext is MainData data)
     {
         data.GameData = new PokerData();
     }
     PageChangeRequested?.Invoke(PageRequest.GamePage);
 }
 private void BlackJacksonButtonClicked(object sender, RoutedEventArgs e)
 {
     if (this.DataContext is MainData data)
     {
         data.GameData = new BlackJackData();
     }
     PageChangeRequested?.Invoke(PageRequest.GamePage);
 }
Beispiel #3
0
 //Restarts the game with the same options and a win counter
 private void RestartButtonClicked(object sender, RoutedEventArgs e)
 {
     if (DataContext is MainPageData data)
     {
         data.ResetGame();
     }
     PageChangeRequested.Invoke(PageRequest.Game);
 }
Beispiel #4
0
        //Takes the player back to the Main Menu page
        private void NewGameButtonClicked(object sender, RoutedEventArgs e)
        {
            if (DataContext is MainPageData data)
            {
                data.ResetGame();
                data.ResetWinCount();
            }

            PageChangeRequested.Invoke(PageRequest.Main);
        }
Beispiel #5
0
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            if (DataContext is MainPageData data)
            {
                winningLabel.Content = $"|{data.PlayerOne.NumberOfWins} - {data.PlayerTwo.NumberOfWins}|";
                //creating a timer if it is not already created
                if (timer is null)
                {
                    timer          = new Timer();
                    timer.Interval = 1000;
                    timer.Elapsed += OnTimedEvent;
                }
                //painting the background of the current turn player
                UpdateHighlight();
                //draws the board if there are any pieces still on it.
                DrawPieces(data.Game.Pieces, data);
                if (!hasBeenSet)
                {
                    //making sure to not add more than one event handler to the game.
                    hasBeenSet = true;
                    //setting up for captures
                    data.Game.Capture += (color) =>
                    {
                        RemovePieces(data.Game.PiecesToBeRemoved);
                        data.UpdateCaptureValues();
                        data.Game.PiecesToBeRemoved.Clear();
                    };

                    data.Game.ComputerTurnMade += (point) => Dispatcher.Invoke(() => DrawPiece(FindRectangle(point), PieceColor.White));

                    data.Game.Win += (color) => PageChangeRequested?.Invoke(PageRequest.GameOver);
                    //hijacking the property changed event in order to update the highlight and stop the timer when we change the current turn.
                    data.PropertyChanged += (s, eve) =>
                    {
                        if (eve.PropertyName == nameof(data.CurrentTurn))
                        {
                            //timer.Stop();
                            data.TimerCount = 20;
                            UpdateHighlight();
                        }
                    };
                }
            }
        }
Beispiel #6
0
 //Opens the help window again
 private void HelpButtonClicked(object sender, RoutedEventArgs e)
 {
     PageChangeRequested?.Invoke(PageRequest.Help);
 }
Beispiel #7
0
 private async void ShipControl_GoToCustomizeScalePageButtonPressed(object sender, EventArgs e)
 {
     PageChangeRequested?.Invoke(this, UI.Constants.Pages.ScaleSetup);
 }
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     PageChangeRequested?.Invoke(PageRequest.Halp);
 }
 private void gOTsHOT(object sender, RoutedEventArgs e)
 {
     PageChangeRequested?.Invoke(PageRequest.SettingsPage);
 }
Beispiel #10
0
 //Goes to the game window
 private void StartGame(object sender, RoutedEventArgs e)
 {
     PageChangeRequested?.Invoke(PageRequest.Game);
 }
Beispiel #11
0
 private async void ScaleSetup_SaveChangesButtonPressed(object sender, EventArgs e)
 {
     ScaleSettingsChanged?.Invoke(this, _model.UseScale);
     PageChangeRequested?.Invoke(this, Constants.Pages.Ship);
 }