private void DestroyObject(NetworkIdentity uv) { if (LogFilter.logDebug) Debug.Log((object) ("DestroyObject instance:" + (object) uv.netId)); if (NetworkServer.objects.ContainsKey(uv.netId)) NetworkServer.objects.Remove(uv.netId); NetworkDetailStats.IncrementStat(NetworkDetailStats.NetworkDirection.Outgoing, (short) 1, uv.assetId.ToString(), 1); ObjectDestroyMessage objectDestroyMessage = new ObjectDestroyMessage(); objectDestroyMessage.netId = uv.netId; NetworkServer.SendToObservers(uv.gameObject, (short) 1, (MessageBase) objectDestroyMessage); uv.ClearObservers(); if (NetworkClient.active && NetworkServer.s_LocalClientActive) { uv.OnNetworkDestroy(); ClientScene.SetLocalObject(objectDestroyMessage.netId, (GameObject) null); } UnityEngine.Object.Destroy((UnityEngine.Object) uv.gameObject); uv.SetNoServer(); }