void Client_ConnectionStatusChanged(NetworkClient sender, NetworkConnectionStatuses status)
        {
            switch (status)
            {
            case NetworkConnectionStatuses.Disconnected:
            {
                string text = "Unable to connect";
                if (sender.DisconnectionReason != "")
                {
                    text += ". " + sender.DisconnectionReason;
                }
                SetInfo(text, true);

                DisposeClient();
            }
            break;

            case NetworkConnectionStatuses.Connecting:
                SetInfo("Connecting...", false);
                break;

            case NetworkConnectionStatuses.Connected:
                SetInfo("Connected", false);

                //no work with client from this class anymore
                RemoveEventsForClient();
                notDisposeClientOnDetach = true;

                //close all windows
                foreach (EControl control in GameEngineApp.Instance.ControlManager.Controls)
                {
                    control.SetShouldDetach();
                }
                //create lobby window
                MultiplayerLobbyWindow lobbyWindow = new MultiplayerLobbyWindow();
                GameEngineApp.Instance.ControlManager.Controls.Add(lobbyWindow);

                GameEngineApp.Instance.Client_OnConnectedToServer();

                break;
            }
        }
Exemple #2
0
        private void CreateServer_Click(Button sender)
        {
            //if (string.IsNullOrEmpty(serverUserName))
            if (string.IsNullOrEmpty(Program.username))
            {
                SetInfo("Invalid user name.", true);
                return;
            }

            SetInfo("Creating server...", false);

            GameNetworkServer server = new GameNetworkServer(createServerName.ToString(),
                                                             EngineVersionInformation.Version, 128, true);

            //int port = 229;

            string error;

            if (!server.BeginListen(createserverport, out error))
            {
                SetInfo("Server Listen Error: " + error, true);
                server.Dispose("");
                return;
            }

            //create user for server
            server.UserManagementService.CreateServerUser(Program.username);

            //close all windows
            foreach (Control control in GameEngineApp.Instance.ControlManager.Controls)
            {
                control.SetShouldDetach();
            }
            //create lobby window
            MultiplayerLobbyWindow lobbyWindow = new MultiplayerLobbyWindow();

            GameEngineApp.Instance.ControlManager.Controls.Add(lobbyWindow);

            GameEngineApp.Instance.Server_OnCreateServer();
        }
Exemple #3
0
        void CreateServer_Click(Button sender)
        {
            if (string.IsNullOrEmpty(userName))
            {
                SetInfo("Invalid user name.", true);
                return;
            }

            SetInfo("Creating server...", false);

            GameNetworkServer server = new GameNetworkServer("NeoAxis Server",
                                                             EngineVersionInformation.Version, 128, true);

            int port = 56565;

            string error;

            if (!server.BeginListen(port, out error))
            {
                SetInfo("Error: " + error, true);
                server.Dispose("");
                return;
            }

            //create user for server
            server.UserManagementService.CreateServerUser(userName);

            //close this window
            SetShouldDetach();

            //create lobby window
            MultiplayerLobbyWindow lobbyWindow = new MultiplayerLobbyWindow();

            GameEngineApp.Instance.ControlManager.Controls.Add(lobbyWindow);

            GameEngineApp.Instance.Server_OnCreateServer();
        }
		void Client_EntitySystemService_WorldDestroy( EntitySystemClientNetworkService sender,
			bool newMapWillBeLoaded )
		{
			MapSystemWorld.MapDestroy();
			if( EntitySystemWorld.Instance != null )
				EntitySystemWorld.Instance.WorldDestroy();

			//close all windows
			foreach( Control control in GameEngineApp.Instance.ControlManager.Controls )
				control.SetShouldDetach();

			if( !newMapWillBeLoaded )
			{
				//create lobby window
				MultiplayerLobbyWindow lobbyWindow = new MultiplayerLobbyWindow();
				GameEngineApp.Instance.ControlManager.Controls.Add( lobbyWindow );
			}
		}
        void CreateServer_Click( EButton sender )
        {
            if( string.IsNullOrEmpty( userName ) )
            {
                SetInfo( "Invalid user name.", true );
                return;
            }

            SetInfo( "Creating server...", false );

            GameNetworkServer server = new GameNetworkServer( "NeoAxis Server",
                EngineVersionInformation.Version, 128, true );

            int port = 56565;

            string error;
            if( !server.BeginListen( port, out error ) )
            {
                SetInfo( "Error: " + error, true );
                server.Dispose( "" );
                return;
            }

            //create user for server
            server.UserManagementService.CreateServerUser( userName );

            //close all windows
            foreach( EControl control in GameEngineApp.Instance.ControlManager.Controls )
                control.SetShouldDetach();
            //create lobby window
            MultiplayerLobbyWindow lobbyWindow = new MultiplayerLobbyWindow();
            GameEngineApp.Instance.ControlManager.Controls.Add( lobbyWindow );

            GameEngineApp.Instance.Server_OnCreateServer();
        }
        void Client_ConnectionStatusChanged( NetworkClient sender, NetworkConnectionStatuses status )
        {
            switch( status )
            {
            case NetworkConnectionStatuses.Disconnected:
                {
                    string text = "Unable to connect";
                    if( sender.DisconnectionReason != "" )
                        text += ". " + sender.DisconnectionReason;
                    SetInfo( text, true );

                    DisposeClient();
                }
                break;

            case NetworkConnectionStatuses.Connecting:
                SetInfo( "Connecting...", false );
                break;

            case NetworkConnectionStatuses.Connected:
                SetInfo( "Connected", false );

                //no work with client from this class anymore
                RemoveEventsForClient();
                notDisposeClientOnDetach = true;

                //close all windows
                foreach( EControl control in GameEngineApp.Instance.ControlManager.Controls )
                    control.SetShouldDetach();
                //create lobby window
                MultiplayerLobbyWindow lobbyWindow = new MultiplayerLobbyWindow();
                GameEngineApp.Instance.ControlManager.Controls.Add( lobbyWindow );

                GameEngineApp.Instance.Client_OnConnectedToServer();

                break;
            }
        }