private void ServerGame_MoveFinished(object sender, MoveMadeEventArgs e) { if (Game.GameId == e.Game.GameId) { Game = e.Game; if (Game.Winner == Game.Black || Game.Winner == Game.White) { _gameOver = true; MessageBox.Show($"{Game.Winner} Won!!!"); _serverGame.CloseGame(Game.GameId); } RaisePropertyChanged("Game"); UpdateCommands(); } }
private void OnMoveMade(object o, MoveMadeEventArgs args) { MoveDetails details = args.Details; if (details.relation != Relation.IamObserving && details.relation != Relation.IamObservingGameBeingObserved && details.relation != Relation.IamPlayingAndMyMove && details.relation != Relation.IamPlayingAndMyOppsMove) return; if (win != null) { win.Update (details); return; } win = new ICSGameObserverWidget (client); win.GamePageRemovedEvent += OnGamePageRemoved; win.GamePageAddedEvent += OnGamePageAdded; gamesPageLabel = new Label (); appwidget.Book.AppendPage (win, gamesPageLabel); win.ShowAll (); win.Update (details); if (gameInfos. ContainsKey (details.gameNumber)) { GameInfo info = (GameInfo) gameInfos[details. gameNumber]; gameInfos.Remove (details. gameNumber); win.Update (info); } /* win.Resize (App.Session.ICSGamesWinWidth, App.Session.ICSGamesWinHeight); */ win.SplitPane.Position = App.Session. ICSGamesWinSplitPanePosition; appwidget.MakeVisible (); }