UnityEngine.Networking.ClientScene.ApplySpawnPayload C# (CSharp) Method

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
        private static void ApplySpawnPayload(NetworkIdentity uv, Vector3 position, byte[] payload, NetworkInstanceId netId, GameObject newGameObject)
        {
            if (!uv.gameObject.activeSelf)
            {
                uv.gameObject.SetActive(true);
            }
            uv.transform.position = position;
            if ((payload != null) && (payload.Length > 0))
            {
                NetworkReader reader = new NetworkReader(payload);
                uv.OnUpdateVars(reader, true);
            }
            if (newGameObject != null)
            {
                newGameObject.SetActive(true);
                uv.SetNetworkInstanceId(netId);
                SetLocalObject(netId, newGameObject);
                if (s_IsSpawnFinished)
                {
                    uv.OnStartClient();
                    CheckForOwner(uv);
                }
            }
        }

Usage Example

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);
                }
            }
        }
All Usage Examples Of UnityEngine.Networking.ClientScene::ApplySpawnPayload