public async void JoinLobbyAsync() { var selectedLobbyPanel = lobbyPanels.FirstOrDefault(x => x.isSelected); if (selectedLobbyPanel == null) { Debug.Log("No lobby selected"); return; } lobby = lobbies.FirstOrDefault(x => x.lobbyId == selectedLobbyPanel.lobbyId); if (lobby == null) { Debug.LogError("No related lobby found"); return; } localLobbyPlayer.isHost = false; await lobby.AddPlayerAsync(localLobbyPlayer); lobby.onLobbyRoomRefreshed += HandleOnLobbyRoomRefreshedAsync; lobby.onHostLeft += HandleOnHostLeft; lobbiesReference.ValueChanged -= LobbyController_ValueChanged; lobbyNameText.text = lobby.name; lobbyBrowserWindow.SetActive(false); lobbyRoomWindow.SetActive(true); }
public async void CreateLobbyAsync() { localLobbyPlayer.isHost = true; lobby = await GameController.database.CreateLobbyAsync(createLobbyNameText.text); await lobby.AddPlayerAsync(localLobbyPlayer); lobby.onLobbyRoomRefreshed += HandleOnLobbyRoomRefreshedAsync; lobby.onGameStart += HandleOnGameStart; lobbyNameText.text = lobby.name; lobbiesReference.ValueChanged -= LobbyController_ValueChanged; lobbyBrowserWindow.SetActive(false); lobbyRoomWindow.SetActive(true); //RefreshLobbiesAsync(); }