public JoiningRoom() { InitializeComponent(); _clientGrpc = new ClientGrpc(); tbip.Text = string.Empty; DataContext = this; }
private void StartGame(string nameOfRoom, string path = "") { if (nameOfRoom.Length > 30) { MessageBox.Show("Имя комнаты не должно превышать 30 символов"); return; } var gameServerWrapper = new GameServerWrapper(nameOfRoom, path); gameServerWrapper.Start(); var grpc = new ClientGrpc(); var sudokuWindow = new SudokuWindow(gameServerWrapper.IPEndPoint); sudokuWindow.Loaded += async(s, e) => { try { await grpc.SendRoom(nameOfRoom, gameServerWrapper.IPEndPoint.Address.ToString(), gameServerWrapper.IPEndPoint.Port.ToString()); } catch { /*ignore*/ } }; sudokuWindow.Closed += async(s, e) => { gameServerWrapper?.Stop(); try { await grpc.DeleteServer(nameOfRoom, gameServerWrapper.IPEndPoint.Address.ToString(), gameServerWrapper.IPEndPoint.Port.ToString()); } catch { /*ignore*/ } Close(); }; Hide(); sudokuWindow.Show(); }