UnityEngine.Networking.NetworkMigrationManager.BecomeNewHost C# (CSharp) Method

BecomeNewHost() public method

This causes a client that has been disconnected from the host to become the new host of the game.

public BecomeNewHost ( int port ) : bool
port int The network port to listen on.
return bool
        public bool BecomeNewHost(int port)
        {
            if (LogFilter.logDebug)
            {
                Debug.Log("NetworkMigrationManager BecomeNewHost " + this.m_MatchInfo);
            }
            NetworkServer.RegisterHandler(0x2f, new NetworkMessageDelegate(this.OnServerReconnectPlayerMessage));
            NetworkClient externalClient = NetworkServer.BecomeHost(this.m_Client, port, this.m_MatchInfo, this.oldServerConnectionId, this.peers);
            if (externalClient != null)
            {
                if (NetworkManager.singleton != null)
                {
                    NetworkManager.singleton.RegisterServerMessages();
                    NetworkManager.singleton.UseExternalClient(externalClient);
                }
                else
                {
                    Debug.LogWarning("MigrationManager BecomeNewHost - No NetworkManager.");
                }
                externalClient.RegisterHandlerSafe(11, new NetworkMessageDelegate(this.OnPeerInfo));
                this.RemovePendingPlayer(this.m_OldServerConnectionId);
                this.Reset(-1);
                this.SendPeerInfo();
                return true;
            }
            if (LogFilter.logError)
            {
                Debug.LogError("NetworkServer.BecomeHost failed");
            }
            return false;
        }

Usage Example

コード例 #1
0
        void OnClientDisconnectedFromHost(NetworkConnection conn, out NetworkMigrationManager.SceneChangeOption sceneChange)
        {
            Debug.Log("Migration >> On Client Disconnected From Host");
            //OnClientDisconnectedFromHost
            OnClientDisconnectedFromHost(conn, out sceneChange);


            //netwr.PeerInfoMessage _info;
            //bool _newHost = false;


            //netwr.FindNewHost(out _info, out _youAreNewHost);

            if (_newHost == true)
            {
                netwr.BecomeNewHost(7777);
            }
            else
            {
            }
        }