Example #1
0
 //Method to remove the victory overlay
 public void RemoveGameWonOverlay(GameWonOverlay o, Canvas c)
 {
     //Remove overlay objects from the screen
     c.Children.Remove(o.background);
     c.Children.Remove(o.VictorySprite);
     c.Children.Remove(o.again);
     c.Children.Remove(o.menu);
 }
Example #2
0
 public void GameVictory()
 {
     FreezePlayer   = true;
     GameLost       = false;
     GameWon        = true;
     gameWonOverlay = new GameWonOverlay();
     gameWonOverlay.againIsPressed += OnPressedOnRestart;
     gameWonOverlay.pressedOnMenu  += OnPressedOnMenu;
     AddGameWonOverlay(gameWonOverlay, GameCanvas);
     playing = false;
     GameTimer.Pause();
 }
Example #3
0
 public void OnPressedOnRestart(object source, EventArgs e)
 {
     PlayAgain();
     if (pauseOverlay != null)
     {
         RemovePauseOverlay(pauseOverlay, GameCanvas);
         pauseOverlay = null;
     }
     else if (gameOverOverlay != null)
     {
         RemoveGameOverOverlay(gameOverOverlay, GameCanvas);
         gameOverOverlay = null;
     }
     else
     {
         RemoveGameWonOverlay(gameWonOverlay, GameCanvas);
         gameWonOverlay = null;
     }
 }
Example #4
0
        //Method to add a victory overlat=y to the screen
        public void AddGameWonOverlay(GameWonOverlay o, Canvas c)
        {
            //Create audio player to play sound effect on game over
            SoundPlayer audio = new SoundPlayer(Properties.Resources.game_won_sound_effect);

            audio.Play();

            //create background worker to sync audio playback with overlay
            var backgroundWorker = new BackgroundWorker();

            backgroundWorker.DoWork += (s, e) =>
            {
                Thread.Sleep(150);
            };

            backgroundWorker.RunWorkerCompleted += (s, e) =>
            {
                //Add everything to the screen
                Canvas.SetTop(o.background, o.backgroundY);
                Canvas.SetLeft(o.background, o.backgroundX);
                c.Children.Add(o.background);
                Panel.SetZIndex(o.background, 99);
                Canvas.SetTop(o.VictorySprite, o.VictorySpriteY);
                Canvas.SetLeft(o.VictorySprite, o.VictorySpriteX);
                c.Children.Add(o.VictorySprite);
                Panel.SetZIndex(o.VictorySprite, 99);
                Canvas.SetTop(o.again, o.againY);
                Canvas.SetLeft(o.again, o.againX);
                c.Children.Add(o.again);
                Panel.SetZIndex(o.again, 99);
                Canvas.SetTop(o.menu, o.menuY);
                Canvas.SetLeft(o.menu, o.menuX);
                c.Children.Add(o.menu);
                Panel.SetZIndex(o.menu, 99);
            };

            backgroundWorker.RunWorkerAsync();
        }