public void CmdUseItem(int slotNum, byte[] itemData) { ItemInventorySlot s = info.belt.getSlots()[slotNum]; Item item = Item.ReadItem(itemData); if (s.getItem().IsSameType(item)) { if (s.getItem() != null) { if (s.getItem().use(this)) { s.removeOne(); } if (!isLocalPlayer) { NetworkIdentity iden = GetComponent <NetworkIdentity> (); TargetUseItem(iden.connectionToClient, slotNum); } else { beltUI.updateUI(); } } } else { Debug.LogError("Item sync issue. Client had item " + item.ToString() + " while we had " + s.getItem().ToString()); } }
public void TargetUseItem(NetworkConnection conn, int slotNum) { ItemInventorySlot s = beltUI.getInventoryBacking().getSlots()[slotNum]; if (s.getItem() != null && s.getItem().use(this)) { s.removeOne(); } beltUI.updateUI(); }