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();
}