Exemple #1
0
        /// <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;
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
        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);
        }
    }
Exemple #5
0
    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);
    }
Exemple #6
0
    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();
    }
Exemple #7
0
 /// <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);
 }
Exemple #8
0
 public BaseItem HasEquipped(PaperdollSlot slot)
 {
     return _equippedItems[slot];
 }
Exemple #9
0
        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;
        }
Exemple #10
0
 public PlayerEquipItemRequestCmd(PaperdollSlot slot, T item)
 {
     Slot = slot;
     Item = item;
 }
Exemple #11
0
 /// <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));
 }
Exemple #12
0
 public void UnEquip(PaperdollSlot slot)
 {
     Equipped = false;
 }
Exemple #13
0
 public void Equip(PaperdollSlot slot)
 {
     Equipped = true;
 }
Exemple #14
0
 public BaseItem HasEquipped(PaperdollSlot slot)
 {
     return(_equippedItems[slot]);
 }