UnityEngine.Networking.NetworkScene.GetNetworkIdentity C# (CSharp) Method

GetNetworkIdentity() private method

private GetNetworkIdentity ( NetworkInstanceId netId, NetworkIdentity &uv ) : bool
netId NetworkInstanceId
uv NetworkIdentity
return bool
        internal bool GetNetworkIdentity(NetworkInstanceId netId, out NetworkIdentity uv)
        {
            if (this.m_LocalObjects.ContainsKey(netId) && (this.m_LocalObjects[netId] != null))
            {
                uv = this.m_LocalObjects[netId];
                return true;
            }
            uv = null;
            return false;
        }

Usage Example

コード例 #1
0
        private static void OnObjectSpawn(NetworkMessage netMsg)
        {
            netMsg.ReadMessage(s_ObjectSpawnMessage);
            if (!s_ObjectSpawnMessage.assetId.IsValid())
            {
                if (LogFilter.logError)
                {
                    Debug.LogError("OnObjSpawn netId: " + s_ObjectSpawnMessage.netId + " has invalid asset Id");
                }
                return;
            }
            if (LogFilter.logDebug)
            {
                Debug.Log("Client spawn handler instantiating [netId:" + s_ObjectSpawnMessage.netId + " asset ID:" + s_ObjectSpawnMessage.assetId + " pos:" + s_ObjectSpawnMessage.position + "]");
            }
            GameObject    prefab;
            SpawnDelegate handler;

            if (s_NetworkScene.GetNetworkIdentity(s_ObjectSpawnMessage.netId, out NetworkIdentity uv))
            {
                ApplySpawnPayload(uv, s_ObjectSpawnMessage.position, s_ObjectSpawnMessage.payload, s_ObjectSpawnMessage.netId, null);
            }
            else if (NetworkScene.GetPrefab(s_ObjectSpawnMessage.assetId, out prefab))
            {
                GameObject gameObject = (GameObject)Object.Instantiate(prefab, s_ObjectSpawnMessage.position, Quaternion.identity);
                uv = gameObject.GetComponent <NetworkIdentity>();
                if (uv == null)
                {
                    if (LogFilter.logError)
                    {
                        Debug.LogError("Client object spawned for " + s_ObjectSpawnMessage.assetId + " does not have a NetworkIdentity");
                    }
                }
                else
                {
                    ApplySpawnPayload(uv, s_ObjectSpawnMessage.position, s_ObjectSpawnMessage.payload, s_ObjectSpawnMessage.netId, gameObject);
                }
            }
            else if (NetworkScene.GetSpawnHandler(s_ObjectSpawnMessage.assetId, out handler))
            {
                GameObject gameObject2 = handler(s_ObjectSpawnMessage.position, s_ObjectSpawnMessage.assetId);
                if (gameObject2 == null)
                {
                    if (LogFilter.logWarn)
                    {
                        Debug.LogWarning("Client spawn handler for " + s_ObjectSpawnMessage.assetId + " returned null");
                    }
                    return;
                }
                uv = gameObject2.GetComponent <NetworkIdentity>();
                if (uv == null)
                {
                    if (LogFilter.logError)
                    {
                        Debug.LogError("Client object spawned for " + s_ObjectSpawnMessage.assetId + " does not have a network identity");
                    }
                }
                else
                {
                    uv.SetDynamicAssetId(s_ObjectSpawnMessage.assetId);
                    ApplySpawnPayload(uv, s_ObjectSpawnMessage.position, s_ObjectSpawnMessage.payload, s_ObjectSpawnMessage.netId, gameObject2);
                }
            }
            else if (LogFilter.logError)
            {
                Debug.LogError("Failed to spawn server object, assetId=" + s_ObjectSpawnMessage.assetId + " netId=" + s_ObjectSpawnMessage.netId);
            }
        }
All Usage Examples Of UnityEngine.Networking.NetworkScene::GetNetworkIdentity