public static void Prefix(InventoryItem ____heldItem) { if (____heldItem != null && ____heldItem.item) //____heldItem.item can be null on game quitting { Pickupable pickupable = ____heldItem.item; NitroxId itemId = NitroxEntity.GetId(pickupable.gameObject); PlayerTool component = pickupable.GetComponent <PlayerTool>(); PlayerHeldItemChanged.ChangeType type = component ? PlayerHeldItemChanged.ChangeType.HOLSTER_AS_TOOL : PlayerHeldItemChanged.ChangeType.HOLSTER_AS_ITEM; player.BroadcastHeldItemChanged(itemId, type, null); } }
public static void Postfix(InventoryItem ____heldItem, NitroxTechType __state) { if (____heldItem == null) { return; } Pickupable pickupable = ____heldItem.item; NitroxId itemId = NitroxEntity.GetId(pickupable.gameObject); PlayerTool component = pickupable.GetComponent <PlayerTool>(); PlayerHeldItemChanged.ChangeType type = component ? PlayerHeldItemChanged.ChangeType.DRAW_AS_TOOL : PlayerHeldItemChanged.ChangeType.DRAW_AS_ITEM; player.BroadcastHeldItemChanged(itemId, type, __state); }
public void BroadcastHeldItemChanged(NitroxId itemId, PlayerHeldItemChanged.ChangeType techType, NitroxTechType isFirstTime) { packetSender.Send(new PlayerHeldItemChanged(multiplayerSession.Reservation.PlayerId, itemId, techType, isFirstTime)); }