private static void ShowNetworkError()
        {
            var caption = MyTextsWrapper.Get(MyTextsWrapperEnum.MessageBoxNetworkErrorCaption);
            var msg     = new StringBuilder(MyTextsWrapper.GetFormatString(MyTextsWrapperEnum.MP_CannotConnectServerJoin, MinerWars.CommonLIB.AppCode.Utils.MyMwcNetworkingConstants.NETWORKING_PORT_MASTER_SERVER));

            MyGuiManager.AddModalScreen(new MyGuiScreenMessageBox(MyMessageBoxType.ERROR, msg, caption, MyTextsWrapperEnum.Ok, null), null);
        }
        void OnGameEnterDisallowed()
        {
            Debug.Assert(m_waitingScreen != null);
            m_waitingScreen.CloseScreen();

            MyGuiManager.AddModalScreen(new MyGuiScreenMessageBox(MyMessageBoxType.ERROR, MyTextsWrapperEnum.DenyEnter, MyTextsWrapperEnum.MessageBoxCaptionError, MyTextsWrapperEnum.Ok, null), null);
        }
示例#3
0
 protected override void Canceling()
 {
     if (!canceled)
     {
         canceled = true;
         MyGuiManager.AddModalScreen(new MyGuiScreenMessageBox(MyMessageBoxType.MESSAGE, MyTextsWrapperEnum.DoYouWantToDisconnect, MyTextsWrapperEnum.DisconnectQuestion, MyTextsWrapperEnum.Yes, MyTextsWrapperEnum.No, new MyGuiScreenMessageBox.MessageBoxCallback(DisconnectQuestion)), null);
     }
 }
 void OnDownloadingSector()
 {
     if (m_waitingScreen != null)
     {
         m_waitingScreen.CloseScreenNow();
         m_waitingScreen = new MyGuiScreenWaiting(MyTextsWrapperEnum.DownloadingData, OnJoiningCancelOrTimeout);
         MyGuiManager.AddModalScreen(m_waitingScreen, null);
     }
 }
        void OnGameJoined(MyGameInfo game, MyResultCodeEnum resultCode, MyMwcObjectBuilder_Checkpoint checkpointBuilder)
        {
            Debug.Assert(m_waitingScreen != null);
            m_waitingScreen.CloseScreen();

            if (resultCode == MyResultCodeEnum.OK)
            {
                var loadingScreen = MySession.StartJoinMultiplayerSession(game.GameType, game.Difficulty, checkpointBuilder);
                loadingScreen.Closed += new MyGuiScreenBase.ScreenHandler(OnLoadFinished);
            }
            else if (resultCode == MyResultCodeEnum.GAME_NOT_EXISTS)
            {
                MyGuiManager.AddModalScreen(new MyGuiScreenMessageBox(MyMessageBoxType.ERROR, MyTextsWrapperEnum.MP_GameHasEnded, MyTextsWrapperEnum.MessageBoxCaptionError, MyTextsWrapperEnum.Ok, null), null);
                GetDataFromServer(true);
            }
            else
            {
                MyGuiManager.AddModalScreen(new MyGuiScreenMessageBox(MyMessageBoxType.ERROR, MyTextsWrapperEnum.ErrorCreatingNetworkConnection, MyTextsWrapperEnum.MessageBoxCaptionError, MyTextsWrapperEnum.Ok, null), null);
                GetDataFromServer(true);
            }
        }
        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();
            }
        }
 void HandleError(StringBuilder text)
 {
     MyGuiManager.AddModalScreen(new MyGuiScreenMessageBox(MyMessageBoxType.ERROR, MyTextsWrapperEnum.ErrorCreatingNetworkConnection, MyTextsWrapperEnum.MessageBoxCaptionError, MyTextsWrapperEnum.Ok, null), null);
 }