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

OnObjectDestroy() private static method

private static OnObjectDestroy ( NetworkMessage netMsg ) : void
netMsg NetworkMessage
return void
        private static void OnObjectDestroy(NetworkMessage netMsg)
        {
            NetworkIdentity identity;
            netMsg.ReadMessage<ObjectDestroyMessage>(s_ObjectDestroyMessage);
            if (LogFilter.logDebug)
            {
                Debug.Log("ClientScene::OnObjDestroy netId:" + s_ObjectDestroyMessage.netId);
            }
            if (s_NetworkScene.GetNetworkIdentity(s_ObjectDestroyMessage.netId, out identity))
            {
                NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Incoming, 1, GetStringForAssetId(identity.assetId), 1);
                identity.OnNetworkDestroy();
                if (!NetworkScene.InvokeUnSpawnHandler(identity.assetId, identity.gameObject))
                {
                    if (identity.sceneId.IsEmpty())
                    {
                        UnityEngine.Object.Destroy(identity.gameObject);
                    }
                    else
                    {
                        identity.gameObject.SetActive(false);
                        s_SpawnableObjects[identity.sceneId] = identity;
                    }
                }
                s_NetworkScene.RemoveLocalObject(s_ObjectDestroyMessage.netId);
                identity.Reset();
            }
            else if (LogFilter.logDebug)
            {
                Debug.LogWarning("Did not find target for destroy message for " + s_ObjectDestroyMessage.netId);
            }
        }