ApplySpawnPayload() private static method

private static ApplySpawnPayload ( NetworkIdentity uv, Vector3 position, byte payload, NetworkInstanceId netId, GameObject newGameObject ) : void
uv NetworkIdentity
position Vector3
payload byte
netId NetworkInstanceId
newGameObject UnityEngine.GameObject
return void
Example #1
0
        private static void OnObjectSpawnScene(NetworkMessage netMsg)
        {
            netMsg.ReadMessage <ObjectSpawnSceneMessage>(ClientScene.s_ObjectSpawnSceneMessage);
            if (LogFilter.logDebug)
            {
                Debug.Log((object)("Client spawn scene handler instantiating [netId:" + (object)ClientScene.s_ObjectSpawnSceneMessage.netId + " sceneId:" + (object)ClientScene.s_ObjectSpawnSceneMessage.sceneId + " pos:" + (object)ClientScene.s_ObjectSpawnSceneMessage.position));
            }
            NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Incoming, (short)10, "sceneId", 1);
            NetworkIdentity uv1;

            if (ClientScene.s_NetworkScene.GetNetworkIdentity(ClientScene.s_ObjectSpawnSceneMessage.netId, out uv1))
            {
                ClientScene.ApplySpawnPayload(uv1, ClientScene.s_ObjectSpawnSceneMessage.position, ClientScene.s_ObjectSpawnSceneMessage.payload, ClientScene.s_ObjectSpawnSceneMessage.netId, uv1.gameObject);
            }
            else
            {
                NetworkIdentity uv2 = ClientScene.SpawnSceneObject(ClientScene.s_ObjectSpawnSceneMessage.sceneId);
                if ((Object)uv2 == (Object)null)
                {
                    if (!LogFilter.logError)
                    {
                        return;
                    }
                    Debug.LogError((object)("Spawn scene object not found for " + (object)ClientScene.s_ObjectSpawnSceneMessage.sceneId));
                }
                else
                {
                    if (LogFilter.logDebug)
                    {
                        Debug.Log((object)("Client spawn for [netId:" + (object)ClientScene.s_ObjectSpawnSceneMessage.netId + "] [sceneId:" + (object)ClientScene.s_ObjectSpawnSceneMessage.sceneId + "] obj:" + uv2.gameObject.name));
                    }
                    ClientScene.ApplySpawnPayload(uv2, ClientScene.s_ObjectSpawnSceneMessage.position, ClientScene.s_ObjectSpawnSceneMessage.payload, ClientScene.s_ObjectSpawnSceneMessage.netId, uv2.gameObject);
                }
            }
        }
Example #2
0
        private static void OnObjectSpawnScene(NetworkMessage netMsg)
        {
            netMsg.ReadMessage <ObjectSpawnSceneMessage>(ClientScene.s_ObjectSpawnSceneMessage);
            if (LogFilter.logDebug)
            {
                Debug.Log(string.Concat(new object[]
                {
                    "Client spawn scene handler instantiating [netId:",
                    ClientScene.s_ObjectSpawnSceneMessage.netId,
                    " sceneId:",
                    ClientScene.s_ObjectSpawnSceneMessage.sceneId,
                    " pos:",
                    ClientScene.s_ObjectSpawnSceneMessage.position
                }));
            }
            NetworkIdentity networkIdentity;

            if (ClientScene.s_NetworkScene.GetNetworkIdentity(ClientScene.s_ObjectSpawnSceneMessage.netId, out networkIdentity))
            {
                ClientScene.ApplySpawnPayload(networkIdentity, ClientScene.s_ObjectSpawnSceneMessage.position, ClientScene.s_ObjectSpawnSceneMessage.payload, ClientScene.s_ObjectSpawnSceneMessage.netId, networkIdentity.gameObject);
            }
            else
            {
                NetworkIdentity networkIdentity2 = ClientScene.SpawnSceneObject(ClientScene.s_ObjectSpawnSceneMessage.sceneId);
                if (networkIdentity2 == null)
                {
                    if (LogFilter.logError)
                    {
                        Debug.LogError("Spawn scene object not found for " + ClientScene.s_ObjectSpawnSceneMessage.sceneId);
                    }
                }
                else
                {
                    if (LogFilter.logDebug)
                    {
                        Debug.Log(string.Concat(new object[]
                        {
                            "Client spawn for [netId:",
                            ClientScene.s_ObjectSpawnSceneMessage.netId,
                            "] [sceneId:",
                            ClientScene.s_ObjectSpawnSceneMessage.sceneId,
                            "] obj:",
                            networkIdentity2.gameObject.name
                        }));
                    }
                    ClientScene.ApplySpawnPayload(networkIdentity2, ClientScene.s_ObjectSpawnSceneMessage.position, ClientScene.s_ObjectSpawnSceneMessage.payload, ClientScene.s_ObjectSpawnSceneMessage.netId, networkIdentity2.gameObject);
                }
            }
        }
Example #3
0
 private static void OnObjectSpawn(NetworkMessage netMsg)
 {
     netMsg.ReadMessage <ObjectSpawnMessage>(ClientScene.s_ObjectSpawnMessage);
     if (!ClientScene.s_ObjectSpawnMessage.assetId.IsValid())
     {
         if (!LogFilter.logError)
         {
             return;
         }
         Debug.LogError((object)("OnObjSpawn netId: " + (object)ClientScene.s_ObjectSpawnMessage.netId + " has invalid asset Id"));
     }
     else
     {
         if (LogFilter.logDebug)
         {
             Debug.Log((object)("Client spawn handler instantiating [netId:" + (object)ClientScene.s_ObjectSpawnMessage.netId + " asset ID:" + (object)ClientScene.s_ObjectSpawnMessage.assetId + " pos:" + (object)ClientScene.s_ObjectSpawnMessage.position + "]"));
         }
         NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Incoming, (short)3, ClientScene.GetStringForAssetId(ClientScene.s_ObjectSpawnMessage.assetId), 1);
         NetworkIdentity uv;
         if (ClientScene.s_NetworkScene.GetNetworkIdentity(ClientScene.s_ObjectSpawnMessage.netId, out uv))
         {
             ClientScene.ApplySpawnPayload(uv, ClientScene.s_ObjectSpawnMessage.position, ClientScene.s_ObjectSpawnMessage.payload, ClientScene.s_ObjectSpawnMessage.netId, (GameObject)null);
         }
         else
         {
             GameObject prefab;
             if (NetworkScene.GetPrefab(ClientScene.s_ObjectSpawnMessage.assetId, out prefab))
             {
                 GameObject newGameObject = (GameObject)Object.Instantiate((Object)prefab, ClientScene.s_ObjectSpawnMessage.position, Quaternion.identity);
                 uv = newGameObject.GetComponent <NetworkIdentity>();
                 if ((Object)uv == (Object)null)
                 {
                     if (!LogFilter.logError)
                     {
                         return;
                     }
                     Debug.LogError((object)("Client object spawned for " + (object)ClientScene.s_ObjectSpawnMessage.assetId + " does not have a NetworkIdentity"));
                 }
                 else
                 {
                     ClientScene.ApplySpawnPayload(uv, ClientScene.s_ObjectSpawnMessage.position, ClientScene.s_ObjectSpawnMessage.payload, ClientScene.s_ObjectSpawnMessage.netId, newGameObject);
                 }
             }
             else
             {
                 SpawnDelegate handler;
                 if (NetworkScene.GetSpawnHandler(ClientScene.s_ObjectSpawnMessage.assetId, out handler))
                 {
                     GameObject newGameObject = handler(ClientScene.s_ObjectSpawnMessage.position, ClientScene.s_ObjectSpawnMessage.assetId);
                     if ((Object)newGameObject == (Object)null)
                     {
                         if (!LogFilter.logWarn)
                         {
                             return;
                         }
                         Debug.LogWarning((object)("Client spawn handler for " + (object)ClientScene.s_ObjectSpawnMessage.assetId + " returned null"));
                     }
                     else
                     {
                         uv = newGameObject.GetComponent <NetworkIdentity>();
                         if ((Object)uv == (Object)null)
                         {
                             if (!LogFilter.logError)
                             {
                                 return;
                             }
                             Debug.LogError((object)("Client object spawned for " + (object)ClientScene.s_ObjectSpawnMessage.assetId + " does not have a network identity"));
                         }
                         else
                         {
                             uv.SetDynamicAssetId(ClientScene.s_ObjectSpawnMessage.assetId);
                             ClientScene.ApplySpawnPayload(uv, ClientScene.s_ObjectSpawnMessage.position, ClientScene.s_ObjectSpawnMessage.payload, ClientScene.s_ObjectSpawnMessage.netId, newGameObject);
                         }
                     }
                 }
                 else
                 {
                     if (!LogFilter.logError)
                     {
                         return;
                     }
                     Debug.LogError((object)("Failed to spawn server object, assetId=" + (object)ClientScene.s_ObjectSpawnMessage.assetId + " netId=" + (object)ClientScene.s_ObjectSpawnMessage.netId));
                 }
             }
         }
     }
 }
Example #4
0
 private static void OnObjectSpawn(NetworkMessage netMsg)
 {
     netMsg.ReadMessage <ObjectSpawnMessage>(ClientScene.s_ObjectSpawnMessage);
     if (!ClientScene.s_ObjectSpawnMessage.assetId.IsValid())
     {
         if (LogFilter.logError)
         {
             Debug.LogError("OnObjSpawn netId: " + ClientScene.s_ObjectSpawnMessage.netId + " has invalid asset Id");
         }
     }
     else
     {
         if (LogFilter.logDebug)
         {
             Debug.Log(string.Concat(new object[]
             {
                 "Client spawn handler instantiating [netId:",
                 ClientScene.s_ObjectSpawnMessage.netId,
                 " asset ID:",
                 ClientScene.s_ObjectSpawnMessage.assetId,
                 " pos:",
                 ClientScene.s_ObjectSpawnMessage.position,
                 "]"
             }));
         }
         NetworkIdentity component;
         GameObject      original;
         SpawnDelegate   spawnDelegate;
         if (ClientScene.s_NetworkScene.GetNetworkIdentity(ClientScene.s_ObjectSpawnMessage.netId, out component))
         {
             ClientScene.ApplySpawnPayload(component, ClientScene.s_ObjectSpawnMessage.position, ClientScene.s_ObjectSpawnMessage.payload, ClientScene.s_ObjectSpawnMessage.netId, null);
         }
         else if (NetworkScene.GetPrefab(ClientScene.s_ObjectSpawnMessage.assetId, out original))
         {
             GameObject gameObject = Object.Instantiate <GameObject>(original, ClientScene.s_ObjectSpawnMessage.position, ClientScene.s_ObjectSpawnMessage.rotation);
             if (LogFilter.logDebug)
             {
                 Debug.Log(string.Concat(new object[]
                 {
                     "Client spawn handler instantiating [netId:",
                     ClientScene.s_ObjectSpawnMessage.netId,
                     " asset ID:",
                     ClientScene.s_ObjectSpawnMessage.assetId,
                     " pos:",
                     ClientScene.s_ObjectSpawnMessage.position,
                     " rotation: ",
                     ClientScene.s_ObjectSpawnMessage.rotation,
                     "]"
                 }));
             }
             component = gameObject.GetComponent <NetworkIdentity>();
             if (component == null)
             {
                 if (LogFilter.logError)
                 {
                     Debug.LogError("Client object spawned for " + ClientScene.s_ObjectSpawnMessage.assetId + " does not have a NetworkIdentity");
                 }
             }
             else
             {
                 component.Reset();
                 ClientScene.ApplySpawnPayload(component, ClientScene.s_ObjectSpawnMessage.position, ClientScene.s_ObjectSpawnMessage.payload, ClientScene.s_ObjectSpawnMessage.netId, gameObject);
             }
         }
         else if (NetworkScene.GetSpawnHandler(ClientScene.s_ObjectSpawnMessage.assetId, out spawnDelegate))
         {
             GameObject gameObject2 = spawnDelegate(ClientScene.s_ObjectSpawnMessage.position, ClientScene.s_ObjectSpawnMessage.assetId);
             if (gameObject2 == null)
             {
                 if (LogFilter.logWarn)
                 {
                     Debug.LogWarning("Client spawn handler for " + ClientScene.s_ObjectSpawnMessage.assetId + " returned null");
                 }
             }
             else
             {
                 component = gameObject2.GetComponent <NetworkIdentity>();
                 if (component == null)
                 {
                     if (LogFilter.logError)
                     {
                         Debug.LogError("Client object spawned for " + ClientScene.s_ObjectSpawnMessage.assetId + " does not have a network identity");
                     }
                 }
                 else
                 {
                     component.Reset();
                     component.SetDynamicAssetId(ClientScene.s_ObjectSpawnMessage.assetId);
                     ClientScene.ApplySpawnPayload(component, ClientScene.s_ObjectSpawnMessage.position, ClientScene.s_ObjectSpawnMessage.payload, ClientScene.s_ObjectSpawnMessage.netId, gameObject2);
                 }
             }
         }
         else if (LogFilter.logError)
         {
             Debug.LogError(string.Concat(new object[]
             {
                 "Failed to spawn server object, did you forget to add it to the NetworkManager? assetId=",
                 ClientScene.s_ObjectSpawnMessage.assetId,
                 " netId=",
                 ClientScene.s_ObjectSpawnMessage.netId
             }));
         }
     }
 }