private static void OnObjectDestroy(NetworkMessage netMsg)
{
netMsg.ReadMessage(s_ObjectDestroyMessage);
if (LogFilter.logDebug)
{
Debug.Log("ClientScene::OnObjDestroy netId:" + s_ObjectDestroyMessage.netId);
}
if (s_NetworkScene.GetNetworkIdentity(s_ObjectDestroyMessage.netId, out NetworkIdentity uv))
{
uv.OnNetworkDestroy();
if (!NetworkScene.InvokeUnSpawnHandler(uv.assetId, uv.gameObject))
{
if (uv.sceneId.IsEmpty())
{
Object.Destroy(uv.gameObject);
}
else
{
uv.gameObject.SetActive(value: false);
s_SpawnableObjects[uv.sceneId] = uv;
}
}
s_NetworkScene.RemoveLocalObject(s_ObjectDestroyMessage.netId);
}
else if (LogFilter.logDebug)
{
Debug.LogWarning("Did not find target for destroy message for " + s_ObjectDestroyMessage.netId);
}
}