Beispiel #1
0
        public JoiningRoom()
        {
            InitializeComponent();
            _clientGrpc = new ClientGrpc();
            tbip.Text   = string.Empty;

            DataContext = this;
        }
Beispiel #2
0
        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();
        }