示例#1
0
        /// <summary>
        /// Handle destroy of pickupable game object.
        /// </summary>
        /// <param name="pickupable">The destroyed pickupable.</param>
        public void HandlePickupableDestroy(GameObject pickupable)
        {
            ObjectSyncComponent osc = GetPickupableByGameObject(pickupable);

            if (osc != null)
            {
                Messages.PickupableDestroyMessage msg = new Messages.PickupableDestroyMessage();
                msg.id = osc.ObjectID;
                netManager.BroadcastMessage(msg, Steamworks.EP2PSend.k_EP2PSendReliable);

                Logger.Debug($"Handle pickupable destroy {pickupable.name}, Object ID: {osc.ObjectID}");
            }
            else
            {
                Logger.Debug($"Unhandled pickupable has been destroyed {pickupable.name}");
                Logger.Debug(Environment.StackTrace);
            }
        }
示例#2
0
        /// <summary>
        /// Handle destroy of pickupable game object.
        /// </summary>
        /// <param name="pickupable">The destroyed pickupable.</param>
        public void HandlePickupableDestroy(GameObject pickupable)
        {
            var netPickupable = GetPickupableByGameObject(pickupable);

            if (netPickupable != null)
            {
                Messages.PickupableDestroyMessage msg = new Messages.PickupableDestroyMessage();
                msg.id = netPickupable.NetId;
                netManager.BroadcastMessage(msg, Steamworks.EP2PSend.k_EP2PSendReliable);

                Logger.Log($"Handle pickupable destroy {pickupable.name}");
                netPickupables.Remove(netPickupable.NetId);
            }
            else
            {
                Logger.Log($"Unhandled pickupable has been destroyed {pickupable.name}");
                Logger.Log(Environment.StackTrace);
            }
        }