Ejemplo n.º 1
0
        protected virtual void HandleServerDestroyObject(LiteNetLibMessageHandler messageHandler)
        {
            ServerDestroyObjectMessage message = messageHandler.ReadMessage <ServerDestroyObjectMessage>();

            if (!IsServer)
            {
                Assets.NetworkDestroy(message.objectId, message.reasons);
            }
            // If this is host and reasons is removed from subscribing so hide it, don't destroy it
            LiteNetLibIdentity identity;

            if (IsServer && message.reasons == DestroyObjectReasons.RemovedFromSubscribing && Assets.TryGetSpawnedObject(message.objectId, out identity))
            {
                identity.OnServerSubscribingRemoved();
            }
        }
Ejemplo n.º 2
0
        public void SendServerDestroyObject(long connectionId, uint objectId, byte reasons)
        {
            if (!IsServer)
            {
                return;
            }
            LiteNetLibPlayer player = null;

            if (!Players.TryGetValue(connectionId, out player) || !player.IsReady)
            {
                return;
            }
            ServerDestroyObjectMessage message = new ServerDestroyObjectMessage();

            message.objectId = objectId;
            message.reasons  = reasons;
            ServerSendPacket(connectionId, DeliveryMethod.ReliableOrdered, GameMsgTypes.ServerDestroyObject, message);
        }