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