public JoinGamePage(Player player) { InitializeComponent(); NavigationPage.SetHasNavigationBar(this, false); socket = new ServerConnection().Socket(); _player = player; ChargeAllRooms(); socket.On("joinRoomEcho", data_result => { if (!data_result.ToString().StartsWith("Error: ")) { Device.BeginInvokeOnMainThread(() => { socket.Off("joinRoomEcho"); socket.Off("newRoomEcho"); Room room = JsonConvert.DeserializeObject <Room>(data_result.ToString()); CreateGamePage createGamePage = new CreateGamePage(room, _player); Application.Current.MainPage.Navigation.PushAsync(createGamePage); }); } else { Chargement(false); lbl_info.Text = (string)data_result; } }); }
private void CreateGame() { int num_player = Int32.Parse(RoomNbrPlayer.SelectedItem.ToString()); _room = new Room { Name = GameName.Text, Password = RoomPassword.Text, Players = new Player[num_player] }; _room.Players[0] = _player; JObject jout = JObject.Parse(JsonConvert.SerializeObject(_room)); socket.Emit("createRoom", jout); socket.On("createRoomEcho", data_result => { if ((bool)data_result) { socket.Off("createRoomEcho"); Device.BeginInvokeOnMainThread(() => { CreateGamePage createGamePage = new CreateGamePage(_room, _player); Application.Current.MainPage.Navigation.PopToRootAsync(); Application.Current.MainPage.Navigation.PushAsync(createGamePage); }); } else { Device.BeginInvokeOnMainThread(() => { lbl_info.Text = "une room porte déja ce nom"; GameName.IsEnabled = true; RoomPassword.IsEnabled = true; RoomNbrPlayer.IsEnabled = true; btnCreateGame.IsEnabled = true; }); } }); }