void OnDownloadingSector() { if (m_waitingScreen != null) { m_waitingScreen.CloseScreenNow(); m_waitingScreen = new MyGuiScreenWaiting(MyTextsWrapperEnum.DownloadingData, OnJoiningCancelOrTimeout); MyGuiManager.AddModalScreen(m_waitingScreen, null); } }
void Static_ServerDisconnected(Lidgren.Network.NetConnection connection) { MySteam.RefreshSessionTicket(); if (m_waitDialog != null) { m_waitDialog.CloseScreen(); m_waitDialog = null; } MyMultiplayerPeers.Static.ServerDisconnected -= m_serverDisconnectedHandler; //ShowNetworkError(); }
void TryJoinGame() { if (m_selectedGameIndex < m_games.Count) { var gameInfo = m_games[m_selectedGameIndex].GameInfo; if (!MinerWars.AppCode.Game.World.MyClientServer.MW25DEnabled && (gameInfo.Name.ToUpper().Contains("2,5D") || gameInfo.Name.ToUpper().Contains("2.5D"))) { MyGuiManager.AddScreen(new MyGuiScreenMessageBox(MyMessageBoxType.MESSAGE, MyTextsWrapperEnum.YouNeed25D, MyTextsWrapperEnum.MessageBoxCaptionFeatureDisabled, MyTextsWrapperEnum.Ok, null)); return; } MyMultiplayerLobby.Static.JoinGame(gameInfo, String.Empty, OnGameJoined, OnGameEnterDisallowed, OnDownloadingSector); // Longer join timeout...to be able to join after loading m_waitingScreen = new MyGuiScreenWaiting(MyTextsWrapperEnum.JoiningGame, OnJoiningCancelOrTimeout, TimeSpan.FromSeconds(120)); MyGuiManager.AddScreen(m_waitingScreen); } }
void OnGetGames(List <MyGameInfo> gamesList) { MyMultiplayerPeers.Static.ServerDisconnected -= m_serverDisconnectedHandler; if (m_waitDialog != null) { m_waitDialog.CloseScreen(); m_waitDialog = null; } lock (m_repopulateLocker) { if (!FillGamesFromLobbiesInfo(gamesList)) { return; } OrderGames(); RefreshGameList(); } }
private void GetDataFromServer(bool withWaitDialog) { m_games.Clear(); if (MySteam.IsActive && !MySteam.IsOnline) { MyGuiManager.AddScreen(new MyGuiScreenMessageBox(MyMessageBoxType.ERROR, MyTextsWrapperEnum.SteamInvalidTicketText, MyTextsWrapperEnum.SteamInvalidTicketCaption, MyTextsWrapperEnum.Ok, null)); return; } try { if (m_gameTypeFilter != MyGameTypes.None) { MyMultiplayerPeers.Static.ServerDisconnected -= m_serverDisconnectedHandler; MyMultiplayerLobby.Static.GetGames(OnGetGames, m_searchTextbox.Text, m_gameTypeFilter); if (withWaitDialog) { MyMultiplayerPeers.Static.ServerDisconnected += m_serverDisconnectedHandler; m_waitDialog = new MyGuiScreenWaiting(MyTextsWrapperEnum.LoadFromServer, new EventHandler <WaitingCanceledArgs>(WaitCanceled), TimeSpan.FromSeconds(30)); MyGuiManager.AddModalScreen(m_waitDialog, null); } } else { OnGetGames(new List <MyGameInfo>()); } } catch (Exception exception) { HandleError(new StringBuilder("Cannot connect to server")); MyMwcLog.WriteLine("Cannot connect to server:"); MyMwcLog.WriteLine(exception); MyMultiplayerPeers.Static.Shutdown(); } }