コード例 #1
0
ファイル: ClientScene.cs プロジェクト: simonwittber/Mirror
        public static bool RemovePlayer(short playerControllerId)
        {
            if (LogFilter.logDebug)
            {
                Debug.Log("ClientScene::RemovePlayer() for ID " + playerControllerId + " called with connection [" + s_ReadyConnection + "]");
            }

            PlayerController playerController;

            if (s_ReadyConnection.GetPlayerController(playerControllerId, out playerController))
            {
                var msg = new RemovePlayerMessage();
                msg.playerControllerId = playerControllerId;
                s_ReadyConnection.Send((short)MsgType.RemovePlayer, msg);

                s_ReadyConnection.RemovePlayerController(playerControllerId);
                s_LocalPlayers[playerControllerId] = new PlayerController();

                Object.Destroy(playerController.gameObject);
                return(true);
            }
            if (LogFilter.logError)
            {
                Debug.LogError("Failed to find player ID " + playerControllerId);
            }
            return(false);
        }
コード例 #2
0
        internal void OnServerRemovePlayerMessageInternal(NetworkConnection conn, RemovePlayerMessage msg)
        {
            if (LogFilter.Debug) Debug.Log("NetworkManager.OnServerRemovePlayerMessageInternal");

            if (conn.playerController != null)
            {
                OnServerRemovePlayer(conn, conn.playerController);
                conn.playerController = null;
            }
        }
コード例 #3
0
 // default remove player handler
 static void OnRemovePlayerMessage(NetworkConnection conn, RemovePlayerMessage msg)
 {
     if (conn.playerController != null)
     {
         Destroy(conn.playerController.gameObject);
         conn.playerController = null;
     }
     else
     {
         Debug.LogError("Received remove player message but connection has no player");
     }
 }
コード例 #4
0
 // default remove player handler
 void OnRemovePlayerMessage(INetworkConnection conn, RemovePlayerMessage msg)
 {
     if (conn.Identity != null)
     {
         Destroy(conn.Identity.gameObject);
         conn.Identity = null;
     }
     else
     {
         throw new InvalidOperationException("Received remove player message but connection has no player");
     }
 }
コード例 #5
0
 // default remove player handler
 void OnRemovePlayerMessage(NetworkConnection conn, RemovePlayerMessage msg)
 {
     if (conn.Identity != null)
     {
         Destroy(conn.Identity.gameObject);
         conn.Identity = null;
     }
     else
     {
         Debug.LogError("Received remove player message but connection has no player");
     }
 }
コード例 #6
0
        void OnServerRemovePlayerMessageInternal(NetworkConnection conn, RemovePlayerMessage msg)
        {
            if (LogFilter.Debug)
            {
                Debug.Log("NetworkManager.OnServerRemovePlayerMessageInternal");
            }

            if (conn.Identity != null)
            {
                OnServerRemovePlayer(conn, conn.Identity);
                conn.Identity = null;
            }
        }
コード例 #7
0
        // default remove player handler
        static void OnRemovePlayerMessage(NetworkMessage netMsg)
        {
            RemovePlayerMessage msg = new RemovePlayerMessage();

            netMsg.ReadMessage(msg);

            if (netMsg.conn.playerController != null)
            {
                netMsg.conn.RemovePlayerController();
                Destroy(netMsg.conn.playerController.gameObject);
            }
            else
            {
                Debug.LogError("Received remove player message but connection has no player");
            }
        }
コード例 #8
0
        internal void OnServerRemovePlayerMessageInternal(NetworkMessage netMsg)
        {
            if (LogFilter.logDebug)
            {
                Debug.Log("NetworkManager:OnServerRemovePlayerMessageInternal");
            }

            RemovePlayerMessage msg = new RemovePlayerMessage();

            netMsg.ReadMessage(msg);

            PlayerController player;

            netMsg.conn.GetPlayerController(msg.playerControllerId, out player);
            OnServerRemovePlayer(netMsg.conn, player);
            netMsg.conn.RemovePlayerController(msg.playerControllerId);
        }
コード例 #9
0
        internal void OnServerRemovePlayerMessageInternal(NetworkMessage netMsg)
        {
            if (LogFilter.logDebug)
            {
                Debug.Log("NetworkManager:OnServerRemovePlayerMessageInternal");
            }

            RemovePlayerMessage msg = new RemovePlayerMessage();

            netMsg.ReadMessage(msg);

            if (netMsg.conn.playerController != null)
            {
                OnServerRemovePlayer(netMsg.conn, netMsg.conn.playerController);
                netMsg.conn.RemovePlayerController();
            }
        }
コード例 #10
0
        public static bool RemovePlayer()
        {
            if (LogFilter.Debug) { Debug.Log("ClientScene::RemovePlayer() called with connection [" + readyConnection + "]"); }

            if (readyConnection.playerController != null)
            {
                RemovePlayerMessage msg = new RemovePlayerMessage();
                readyConnection.Send((short)MsgType.RemovePlayer, msg);

                Object.Destroy(readyConnection.playerController.gameObject);

                readyConnection.RemovePlayerController();
                localPlayer = null;

                return true;
            }
            return false;
        }