/// <summary> /// insert item into slot /// </summary> /// <param name="slot"></param> /// <param name="item"></param> /// <returns>if swap is successful, the old item. /// if swap fails, the requested item. public BaseItem Equip(PaperdollSlot slot, BaseItem item) { if (!CanEquip(slot, item)) return item; // cache old item var oldItem = _equippedItems[slot]; // swap it _equippedItems[slot] = item; return oldItem; }
/// <summary> /// insert item into slot /// </summary> /// <param name="slot"></param> /// <param name="item"></param> /// <returns>if swap is successful, the old item. /// if swap fails, the requested item. public BaseItem Equip(PaperdollSlot slot, BaseItem item) { if (!CanEquip(slot, item)) { return(item); } // cache old item var oldItem = _equippedItems[slot]; // swap it _equippedItems[slot] = item; return(oldItem); }
public bool CanEquip(PaperdollSlot slot, BaseItem item) { // paperdoll doesn't support this slot if (!_slotRestrictions.IsBound(slot)) { return(false); } // item doesn't fit in this slot if (_slotRestrictions[slot] != item.MyType) { return(false); } return(true); }
private void SetupStartingItems() { int count = startingItems.Count; for (int i = 0; i < count; i++) { Item newItem = ItemFactory.CreateItem(startingItems[i]); AddItem(newItem); PaperdollSlot targetSlot = inventoryPanel.GetPaperDollSlotByType(newItem.validSlot); InventorySlot currentSlot = inventoryPanel.GetSlotByContents(newItem); currentSlot.TransferItem(targetSlot); } }
public PaperdollSlot GetPaperDollSlotByType(PaperdollSlot.PaperdollSlotType slotType) { int count = slots.Count; for (int i = 0; i < count; i++) { if (slots[i] is PaperdollSlot) { PaperdollSlot slot = slots[i] as PaperdollSlot; if (slot.slotType == slotType && slot.IsFull == false) { return(slot); } } } return(null); }
public void TransferItem(InventorySlot destination) { if (destination.IsFull) { Debug.LogError("[InventorySlot] cannot transfer an item to a full slot"); return; } if (destination is PaperdollSlot) { PaperdollSlot dollSlot = destination as PaperdollSlot; if (CurrentItem.validSlot != dollSlot.slotType) { Debug.Log(CurrentItem.itemName + " cannot be equipped to a " + dollSlot.slotType + " slot"); return; } } destination.AssignItem(CurrentItem); RemoveItem(); }
/// <summary> /// wrapper for Paperdoll /// </summary> /// <param name="slot"></param> /// <param name="item"></param> public BaseItem Equip(PaperdollSlot slot, BaseItem item) { return Paperdoll.Equip(slot, item); }
public BaseItem HasEquipped(PaperdollSlot slot) { return _equippedItems[slot]; }
public bool CanEquip(PaperdollSlot slot, BaseItem item) { // paperdoll doesn't support this slot if (!_slotRestrictions.IsBound(slot)) return false; // item doesn't fit in this slot if (_slotRestrictions[slot] != item.MyType) return false; return true; }
public PlayerEquipItemRequestCmd(PaperdollSlot slot, T item) { Slot = slot; Item = item; }
/// <summary> /// wrapper for Paperdoll /// </summary> /// <param name="slot"></param> /// <param name="item"></param> public BaseItem Equip(PaperdollSlot slot, BaseItem item) { return(Paperdoll.Equip(slot, item)); }
public void UnEquip(PaperdollSlot slot) { Equipped = false; }
public void Equip(PaperdollSlot slot) { Equipped = true; }
public BaseItem HasEquipped(PaperdollSlot slot) { return(_equippedItems[slot]); }