// OnClientAddedPlayer?
        static void OnOwnerMessage(NetworkMessage netMsg)
        {
            netMsg.ReadMessage(s_OwnerMessage);

            if (LogFilter.logDebug)
            {
                Debug.Log("ClientScene::OnOwnerMessage - connectionId=" + netMsg.conn.connectionId + " netId: " + s_OwnerMessage.netId);
            }


            // is there already an owner that is a different object??
            PlayerController oldOwner;

            if (netMsg.conn.GetPlayerController(s_OwnerMessage.playerControllerId, out oldOwner))
            {
                oldOwner.unetView.SetNotLocalPlayer();
            }

            NetworkIdentity localNetworkIdentity;

            if (s_NetworkScene.GetNetworkIdentity(s_OwnerMessage.netId, out localNetworkIdentity))
            {
                // this object already exists
                localNetworkIdentity.SetConnectionToServer(netMsg.conn);
                localNetworkIdentity.SetLocalPlayer(s_OwnerMessage.playerControllerId);
                InternalAddPlayer(localNetworkIdentity, s_OwnerMessage.playerControllerId);
            }
            else
            {
                var pendingOwner = new PendingOwner {
                    netId = s_OwnerMessage.netId, playerControllerId = s_OwnerMessage.playerControllerId
                };
                s_PendingOwnerIds.Add(pendingOwner);
            }
        }
Example #2
0
 private static void OnOwnerMessage(NetworkMessage netMsg)
 {
     netMsg.ReadMessage(s_OwnerMessage);
     if (LogFilter.logDebug)
     {
         Debug.Log("ClientScene::OnOwnerMessage - connectionId=" + netMsg.conn.connectionId + " netId: " + s_OwnerMessage.netId);
     }
     if (netMsg.conn.GetPlayerController(s_OwnerMessage.playerControllerId, out PlayerController playerController))
     {
         playerController.unetView.SetNotLocalPlayer();
     }
     if (s_NetworkScene.GetNetworkIdentity(s_OwnerMessage.netId, out NetworkIdentity uv))
     {
         uv.SetConnectionToServer(netMsg.conn);
         uv.SetLocalPlayer(s_OwnerMessage.playerControllerId);
         InternalAddPlayer(uv, s_OwnerMessage.playerControllerId);
     }
     else
     {
         PendingOwner pendingOwner = default(PendingOwner);
         pendingOwner.netId = s_OwnerMessage.netId;
         pendingOwner.playerControllerId = s_OwnerMessage.playerControllerId;
         PendingOwner item = pendingOwner;
         s_PendingOwnerIds.Add(item);
     }
 }
Example #3
0
        private static void OnOwnerMessage(NetworkMessage netMsg)
        {
            PlayerController controller;
            NetworkIdentity  identity;

            netMsg.ReadMessage <OwnerMessage>(s_OwnerMessage);
            if (LogFilter.logDebug)
            {
                Debug.Log(string.Concat(new object[] { "ClientScene::OnOwnerMessage - connectionId=", netMsg.conn.connectionId, " netId: ", s_OwnerMessage.netId }));
            }
            if (netMsg.conn.GetPlayerController(s_OwnerMessage.playerControllerId, out controller))
            {
                controller.unetView.SetNotLocalPlayer();
            }
            if (s_NetworkScene.GetNetworkIdentity(s_OwnerMessage.netId, out identity))
            {
                identity.SetConnectionToServer(netMsg.conn);
                identity.SetLocalPlayer(s_OwnerMessage.playerControllerId);
                InternalAddPlayer(identity, s_OwnerMessage.playerControllerId);
            }
            else
            {
                PendingOwner item = new PendingOwner {
                    netId = s_OwnerMessage.netId,
                    playerControllerId = s_OwnerMessage.playerControllerId
                };
                s_PendingOwnerIds.Add(item);
            }
        }
Example #4
0
 private static void CheckForOwner(NetworkIdentity uv)
 {
     for (int i = 0; i < s_PendingOwnerIds.Count; i++)
     {
         PendingOwner owner = s_PendingOwnerIds[i];
         if (owner.netId == uv.netId)
         {
             uv.SetConnectionToServer(s_ReadyConnection);
             uv.SetLocalPlayer(owner.playerControllerId);
             if (LogFilter.logDev)
             {
                 Debug.Log("ClientScene::OnOwnerMessage - player=" + uv.gameObject.name);
             }
             if (s_ReadyConnection.connectionId < 0)
             {
                 if (LogFilter.logError)
                 {
                     Debug.LogError("Owner message received on a local client.");
                 }
             }
             else
             {
                 InternalAddPlayer(uv, owner.playerControllerId);
                 s_PendingOwnerIds.RemoveAt(i);
             }
             break;
         }
     }
 }
Example #5
0
 private static void OnOwnerMessage(QNetworkMessage netMsg)
 {
     netMsg.ReadMessage(s_OwnerMessage);
     Debug.Log(
         $"ClientScene::OnOwnerMessage - connectionId={netMsg.Connection.connectionId} netId: {s_OwnerMessage.NetId}");
     if (netMsg.Connection.GetPlayerController(s_OwnerMessage.PlayerControllerId, out var playerController))
     {
         playerController.UnetView.SetNotLocalPlayer();
     }
     if (s_NetworkScene.GetNetworkIdentity(s_OwnerMessage.NetId, out var networkIdentity))
     {
         networkIdentity.SetConnectionToServer(netMsg.Connection);
         networkIdentity.SetLocalPlayer(s_OwnerMessage.PlayerControllerId);
         InternalAddPlayer(networkIdentity, s_OwnerMessage.PlayerControllerId);
     }
     else
     {
         var item = new PendingOwner
         {
             netId = s_OwnerMessage.NetId,
             playerControllerId = s_OwnerMessage.PlayerControllerId
         };
         s_PendingOwnerIds.Add(item);
     }
 }
Example #6
0
 private static void OnOwnerMessage(NetworkMessage netMsg)
 {
     PlayerController controller;
     NetworkIdentity identity;
     netMsg.ReadMessage<OwnerMessage>(s_OwnerMessage);
     if (LogFilter.logDebug)
     {
         Debug.Log(string.Concat(new object[] { "ClientScene::OnOwnerMessage - connectionId=", netMsg.conn.connectionId, " netId: ", s_OwnerMessage.netId }));
     }
     if (netMsg.conn.GetPlayerController(s_OwnerMessage.playerControllerId, out controller))
     {
         controller.unetView.SetNotLocalPlayer();
     }
     if (s_NetworkScene.GetNetworkIdentity(s_OwnerMessage.netId, out identity))
     {
         identity.SetConnectionToServer(netMsg.conn);
         identity.SetLocalPlayer(s_OwnerMessage.playerControllerId);
         InternalAddPlayer(identity, s_OwnerMessage.playerControllerId);
     }
     else
     {
         PendingOwner item = new PendingOwner {
             netId = s_OwnerMessage.netId,
             playerControllerId = s_OwnerMessage.playerControllerId
         };
         s_PendingOwnerIds.Add(item);
     }
 }