internal static void HideForConnection(NetworkIdentity uv, NetworkConnection conn) { ObjectDestroyMessage msg = new ObjectDestroyMessage(); msg.netId = uv.netId; conn.Send((short)MsgType.ObjectHide, msg); }
static void DestroyObject(NetworkIdentity identity, bool destroyServerObject) { if (LogFilter.Debug) { Debug.Log("DestroyObject instance:" + identity.netId); } NetworkIdentity.spawned.Remove(identity.netId); identity.clientAuthorityOwner?.RemoveOwnedObject(identity); ObjectDestroyMessage msg = new ObjectDestroyMessage { netId = identity.netId }; SendToObservers(identity, msg); identity.ClearObservers(); if (NetworkClient.active && localClientActive) { identity.OnNetworkDestroy(); } // when unspawning, dont destroy the server's object if (destroyServerObject) { UnityEngine.Object.Destroy(identity.gameObject); } identity.MarkForReset(); }
void DestroyObject(NetworkIdentity identity, bool destroyServerObject) { if (LogFilter.Debug) { Debug.Log("DestroyObject instance:" + identity.NetId); } spawned.Remove(identity.NetId); identity.ConnectionToClient?.RemoveOwnedObject(identity); var msg = new ObjectDestroyMessage { netId = identity.NetId }; SendToObservers(identity, msg); identity.ClearObservers(); if (LocalClientActive) { identity.OnNetworkDestroy.Invoke(); } // when unspawning, dont destroy the server's object if (destroyServerObject) { UnityEngine.Object.Destroy(identity.gameObject); } identity.MarkForReset(); }
static void OnLocalClientObjectDestroy(NetworkMessage netMsg) { ObjectDestroyMessage msg = netMsg.ReadMessage<ObjectDestroyMessage>(); if (LogFilter.Debug) { Debug.Log("ClientScene::OnLocalObjectObjDestroy netId:" + msg.netId); } NetworkIdentity.spawned.Remove(msg.netId); }
static void DestroyObject(NetworkIdentity uv, bool destroyServerObject) { if (LogFilter.Debug) { Debug.Log("DestroyObject instance:" + uv.netId); } if (objects.ContainsKey(uv.netId)) { objects.Remove(uv.netId); } if (uv.clientAuthorityOwner != null) { uv.clientAuthorityOwner.RemoveOwnedObject(uv); } ObjectDestroyMessage msg = new ObjectDestroyMessage(); msg.netId = uv.netId; SendToObservers(uv.gameObject, (short)MsgType.ObjectDestroy, msg); uv.ClearObservers(); if (NetworkClient.active && s_LocalClientActive) { uv.OnNetworkDestroy(); ClientScene.SetLocalObject(msg.netId, null); } // when unspawning, dont destroy the server's object if (destroyServerObject) { UnityEngine.Object.Destroy(uv.gameObject); } uv.MarkForReset(); }
static void OnObjectDestroy(NetworkMessage netMsg) { ObjectDestroyMessage msg = netMsg.ReadMessage<ObjectDestroyMessage>(); if (LogFilter.Debug) { Debug.Log("ClientScene::OnObjDestroy netId:" + msg.netId); } NetworkIdentity localObject; if (NetworkIdentity.spawned.TryGetValue(msg.netId, out localObject) && localObject != null) { localObject.OnNetworkDestroy(); if (!InvokeUnSpawnHandler(localObject.assetId, localObject.gameObject)) { // default handling if (localObject.sceneId == 0) { Object.Destroy(localObject.gameObject); } else { // scene object.. disable it in scene instead of destroying localObject.gameObject.SetActive(false); spawnableObjects[localObject.sceneId] = localObject; } } NetworkIdentity.spawned.Remove(msg.netId); localObject.MarkForReset(); } else { if (LogFilter.Debug) { Debug.LogWarning("Did not find target for destroy message for " + msg.netId); } } }
internal static void OnHostClientObjectDestroy(ObjectDestroyMessage msg) { if (LogFilter.Debug) { Debug.Log("ClientScene.OnLocalObjectObjDestroy netId:" + msg.netId); } NetworkIdentity.spawned.Remove(msg.netId); }
internal static void OnHostClientObjectDestroy(ObjectDestroyMessage msg) { if (logger.LogEnabled()) { logger.Log("ClientScene.OnLocalObjectObjDestroy netId:" + msg.netId); } NetworkIdentity.spawned.Remove(msg.netId); }
internal void OnHostClientObjectDestroy(ObjectDestroyMessage msg) { if (LogFilter.Debug) { Debug.Log("ClientScene.OnLocalObjectObjDestroy netId:" + msg.netId); } Spawned.Remove(msg.netId); }
internal static void HideForConnection(NetworkIdentity identity, NetworkConnection conn) { ObjectDestroyMessage msg = new ObjectDestroyMessage { netId = identity.netId }; conn.Send((short)MsgType.ObjectHide, msg); }
internal void OnHostClientObjectDestroy(ObjectDestroyMessage msg) { if (logger.LogEnabled()) { logger.Log("ClientScene.OnLocalObjectObjDestroy netId:" + msg.netId); } client.Spawned.Remove(msg.netId); }
static void OnLocalClientObjectHide(NetworkMessage netMsg) { ObjectDestroyMessage msg = netMsg.ReadMessage<ObjectDestroyMessage>(); if (LogFilter.Debug) { Debug.Log("ClientScene::OnLocalObjectObjHide netId:" + msg.netId); } NetworkIdentity localObject; if (NetworkIdentity.spawned.TryGetValue(msg.netId, out localObject) && localObject != null) { localObject.OnSetLocalVisibility(false); } }
internal static void OnLocalClientObjectDestroy(NetworkConnection _, ObjectDestroyMessage msg) { if (LogFilter.Debug) { Debug.Log("ClientScene.OnLocalObjectObjDestroy netId:" + msg.netId); } #if MIRROR_PROFILING NetworkProfiler.RecordMessage(NetworkDirection.Incoming, typeof(ObjectDestroyMessage), msg.netId.ToString(), 1); #endif NetworkIdentity.spawned.Remove(msg.netId); }
static void OnLocalClientObjectDestroy(NetworkMessage netMsg) { ObjectDestroyMessage msg = new ObjectDestroyMessage(); netMsg.ReadMessage(msg); if (LogFilter.logDebug) { Debug.Log("ClientScene::OnLocalObjectObjDestroy netId:" + msg.netId); } s_NetworkScene.RemoveLocalObject(msg.netId); }
static void OnLocalClientObjectHide(NetworkMessage netMsg) { ObjectDestroyMessage msg = new ObjectDestroyMessage(); netMsg.ReadMessage(msg); if (LogFilter.logDebug) { Debug.Log("ClientScene::OnLocalObjectObjHide netId:" + msg.netId); } NetworkIdentity localObject; if (s_NetworkScene.GetNetworkIdentity(msg.netId, out localObject)) { localObject.OnSetLocalVisibility(false); } }
static void OnObjectDestroy(NetworkMessage netMsg) { ObjectDestroyMessage msg = new ObjectDestroyMessage(); netMsg.ReadMessage(msg); if (LogFilter.logDebug) { Debug.Log("ClientScene::OnObjDestroy netId:" + msg.netId); } NetworkIdentity localObject; if (s_NetworkScene.GetNetworkIdentity(msg.netId, out localObject)) { localObject.OnNetworkDestroy(); if (!NetworkScene.InvokeUnSpawnHandler(localObject.assetId, localObject.gameObject)) { // default handling if (localObject.sceneId.IsEmpty()) { Object.Destroy(localObject.gameObject); } else { // scene object.. disable it in scene instead of destroying localObject.gameObject.SetActive(false); s_SpawnableObjects[localObject.sceneId] = localObject; } } s_NetworkScene.RemoveLocalObject(msg.netId); localObject.MarkForReset(); } else { if (LogFilter.logDebug) { Debug.LogWarning("Did not find target for destroy message for " + msg.netId); } } }
internal static void OnObjectDestroy(ObjectDestroyMessage msg) { DestroyObject(msg.netId); }
internal static void OnObjectDestroy(NetworkConnection _, ObjectDestroyMessage msg) { DestroyObject(msg.netId); }