} // If it's the first time the player used that item type it send the techType, if not null. public PlayerHeldItemChanged(ushort playerId, NitroxId itemId, PlayerHeldItemChangedType type, NitroxTechType isFirstTime) { PlayerId = playerId; ItemId = itemId; Type = type; IsFirstTime = isFirstTime; }
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>(); PlayerHeldItemChangedType type = component ? PlayerHeldItemChangedType.HOLSTER_AS_TOOL : PlayerHeldItemChangedType.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>(); PlayerHeldItemChangedType type = component ? PlayerHeldItemChangedType.DRAW_AS_TOOL : PlayerHeldItemChangedType.DRAW_AS_ITEM; player.BroadcastHeldItemChanged(itemId, type, __state); }
public void BroadcastHeldItemChanged(NitroxId itemId, PlayerHeldItemChangedType techType, NitroxTechType isFirstTime) { packetSender.Send(new PlayerHeldItemChanged(multiplayerSession.Reservation.PlayerId, itemId, techType, isFirstTime)); }