public void JoinSelectedGame(bool online)
{
if (OnlineGameListData == null || OnlineGameListData.Length < OnlineGameList.SelectedIndex + 1)
{
return;
}
PublicGameInfo selectedGame;
if (online)
{
selectedGame = OnlineGameListData[OnlineGameList.SelectedIndex];
}
else
{
selectedGame = LocalGameListData[LocalGameList.SelectedIndex];
}
IPAddress host = null;
if (!IPAddress.TryParse(selectedGame.HostAddress, out host))
{
return;
}
var overlay = MessageOverlay.ShowWaitMessage("Connecting to Game...", onCancel: () => { Ballz.The().Network.Disconnect(); });
Ballz.The().Network.ConnectToServer(host, selectedGame.HostPort, onSuccess: () => {
Ballz.The().Logic.OpenMenu(new LobbyMenu(isHost: false));
overlay.Hide();
});
}