protected void OnGameoverWithNoLives(MonkeyBoardGameoverEventArgs e) { if (GameoverWithNoLives != null) { GameoverWithNoLives(this, e); } }
private static void GameoverWithNoLivesBinding(object sender, MonkeyBoardGameoverEventArgs e) { GameoverWindow gameoverWindow = new GameoverWindow(); // pause the current map first boardPackage.Pause(); gameoverWindow.GameoverDecision += (gameoverSender, gameoverArgs) => { if (gameoverArgs.GameoverState == GameoverState.TryAgain) { // restarts everything boardPackage.GameoverWithNoLives -= GameoverWithNoLivesBinding; window.ClearBoardPackage(); boardPackage = new MonkeyBoardPackage(mapPathArray, new MonkeyBoardUI(null), new MonkeyMainBarUI(null), true); boardPackage.GameCompleted += (gameCompletedSender, gameCompletedArgs) => new GameCompletedWindow().ShowDialog(); window.SetBoardPackage(boardPackage); boardPackage.GameoverWithNoLives += GameoverWithNoLivesBinding; boardPackage.Start(); } else if (gameoverArgs.GameoverState == GameoverState.Quit) { // quits game window.Close(); } }; gameoverWindow.ShowDialog(); }
protected void OnGameCompleted(MonkeyBoardGameoverEventArgs e) { if (GameCompleted != null) { GameCompleted(this, e); } }