void GrabItem(UISlot grabbable) { if (grabbable.Item == null) { return; } if (grabbable is InventorySlot inventoryGrabbable) { grabbedSlot = inventoryGrabbable.MainSlot; inventoryGrabbable.MainSlot.GrabItem(true); } else { grabbedSlot = grabbable; grabbable.GrabItem(true); } }
void PlaceItem(DroppableArea droppableArea) { if (grabbedSlot == null) { return; } Item grabbedItem = grabbedSlot.Item; int grabbedTrinketSlot = -1; /* * if (grabbedSlot is InventorySlot) * { * RunManager.Instance.Inventory.RemoveFromInventory(grabbedItem); * } * else if (grabbedSlot is EquipmentSlot) * { * grabbedTrinketSlot = ((EquipmentSlot)grabbedSlot).TrinketIndex; * ((EquipmentSlot)grabbedSlot).Player.UnequipEquipment(((Equipment)grabbedItem).slot, grabbedTrinketSlot); * } * else * { * dropArea.RemoveFromDrop(grabbedItem); * } */ IDroppable droppable = droppableArea.droppable; if (droppable.DropHere(grabbedItem, droppableArea.slot)) { grabbedSlot.GetComponent <RemovableArea>().removable.RemoveFromHere(grabbedSlot); } grabbedSlot.GrabItem(false); grabbedSlot = null; /* * if (newSlot is InventorySlot) * { * if (!RunManager.Instance.Inventory.AddToInventory(grabbedItem, ((InventorySlot)newSlot).Position)) * { * if (grabbedSlot is InventorySlot) * { * if (!RunManager.Instance.Inventory.AddToInventory(grabbedItem, ((InventorySlot)grabbedSlot).Position)) * { * grabbedItem.SwapDimensions(); * RunManager.Instance.Inventory.AddToInventory(grabbedItem, ((InventorySlot)grabbedSlot).Position); * } * } * else if (grabbedSlot is EquipmentSlot) * { * ((EquipmentSlot)grabbedSlot).Player.EquipEquipment(((Equipment)grabbedItem), grabbedTrinketSlot); * } * else * { * dropArea.AddToDrop(grabbedItem); * } * } * } * else * { * if (grabbedItem is Equipment) * { * if (((EquipmentSlot)newSlot).Slot == ((Equipment)grabbedItem).slot) * { * if (((EquipmentSlot)newSlot).Item == null) * { * ((EquipmentSlot)newSlot).Player.EquipEquipment(((Equipment)grabbedItem), ((EquipmentSlot)newSlot).TrinketIndex); * } * else if (grabbedSlot is InventorySlot) * { * RunManager.Instance.Inventory.AddToInventory(grabbedItem, ((InventorySlot)grabbedSlot).Position); * } * else * { * ((EquipmentSlot)grabbedSlot).Player.EquipEquipment(((Equipment)grabbedItem), ((EquipmentSlot)grabbedSlot).TrinketIndex); * } * } * else * { * if (grabbedSlot is InventorySlot) * { * RunManager.Instance.Inventory.AddToInventory(grabbedItem, ((InventorySlot)grabbedSlot).Position); * } * else * { * ((EquipmentSlot)grabbedSlot).Player.EquipEquipment(((Equipment)grabbedItem)); * } * } * } * else * { * if (grabbedSlot is InventorySlot) * { * RunManager.Instance.Inventory.AddToInventory(grabbedItem, ((InventorySlot)grabbedSlot).Position); * } * else * { * ((EquipmentSlot)grabbedSlot).Player.EquipEquipment(((Equipment)grabbedItem), grabbedTrinketSlot); * } * } * } * * grabbedSlot.GrabItem(false); * grabbedSlot = null;*/ }