コード例 #1
0
 public void AddItem(InventoryItemWrapper myWrapper, int Amount)
 {
     for (int i = 0; i < Amount; i++)
     {
         //TODO: AddItem(Instantiate(myWrapper));
     }
 }
コード例 #2
0
 public void AddItem(InventoryItemWrapper A)
 {
     if (A == null)
     {
         return;
     }
     Debug.Assert(canAddWeight(A.Weight), "ADDED MORE WEIGHT THAN COULD CARRY!");
     TotalWeight += A.Weight;
     if (A.GetStackable() && !A.isUniqueInstance())
     {
         foreach (ItemStack B in myInventoryItems)
         {
             if (B.hasItemData(A.GetItemData()))
             {
                 B.AddItem(A);
                 return;
             }
         }
     }
     else
     {
         ItemStack myNewStack = new ItemStack();
         myNewStack.AddItem(A);
         myInventoryItems.Add(myNewStack);
     }
     SortItems();
 }
コード例 #3
0
    public InventoryItemWrapper getItemAtPosition(int tryParse)
    {
        InventoryItemWrapper myItem = null;

        if (myInventoryItems.Count > tryParse && tryParse > -1)
        {
            myItem = myInventoryItems[tryParse].RemoveItemFromStack();
        }
        return(myItem);
    }
コード例 #4
0
 public void SetSize(int v)
 {
     Debug.Assert(v > 0);
     if (myStack.Count > v)
     {
         myStack.RemoveRange(0, myStack.Count - v);
     }
     else if (myStack.Count < v)
     {
         for (int i = myStack.Count; i <= v; i++)
         {
             InventoryItemWrapper myWrapper = new InventoryItemWrapper();
             myWrapper.SetItemData(myStack[0].MyData);
             myStack.Add(myWrapper);
         }
     }
 }
コード例 #5
0
    public ItemStack RemoveItem(InventoryItemWrapper myItem, int quantity)
    {
        ItemStack myAffectedStack = null;
        ItemStack myRetVal        = null;

        foreach (ItemStack A in myInventoryItems)
        {
            if (A.Contains(myItem))
            {
                myRetVal     = A.RemoveItem(quantity);
                TotalWeight -= myRetVal.GetWeight();
                if (A.IsEmpty())
                {
                    myAffectedStack = A;
                }
            }
        }
        if (myAffectedStack != null)
        {
            myInventoryItems.Remove(myAffectedStack);
        }
        return(myRetVal);
    }
コード例 #6
0
    public void EquipItemFromInventory(ItemStack myWrapper)
    {
        InventoryItemWrapper myStackedItem = myWrapper.RemoveItemFromStack();

        if (myWrapper.IsEmpty())
        {
            if (!myEquipmentHandler.TryToAutoEquipItem(myStackedItem))
            {
                myWrapper.AddItem(myStackedItem);
            }
            else
            {
                RemoveItemStack(myWrapper);
            }
        }
        else
        {
            if (!myEquipmentHandler.TryToAutoEquipItem(myStackedItem))
            {
                myWrapper.AddItem(myStackedItem);
            }
        }
    }
コード例 #7
0
    /*
     * public bool isValidItemHolder(ICustomItem myItemToValidate)
     * {
     *    return myItemToValidate.GetType().ToString().ToUpper().CompareTo(myAllowedType.ToUpper()) == 0;
     * }
     *
     * public bool AddItem(ICustomItem myItemsToAdd)
     * {
     *    InventoryItemWrapper myNewItem = myItemsToAdd as InventoryItemWrapper;
     *    return false;
     * }*/



    internal bool Unequip()
    {
        EquippedItem = null;
        return(true);
    }
コード例 #8
0
 internal void putInSlot(InventoryItemWrapper myItem)
 {
     EquippedItem = myItem;
 }
コード例 #9
0
 public void removeItem(InventoryItemWrapper anItem)
 {
     myStack.Add(anItem);
 }
コード例 #10
0
 public void addItem(InventoryItemWrapper anItem)
 {
     myStack.Add(anItem);
 }
コード例 #11
0
 public bool Contains(InventoryItemWrapper myItem)
 {
     return(myStack.Contains(myItem));
 }
コード例 #12
0
 internal bool TryToAutoEquipItem(InventoryItemWrapper myStackedItem)
 {
     throw new NotImplementedException();
 }
コード例 #13
0
 public void EquipItemFromExternal(InventoryItemWrapper myWrapper)
 {
 }
コード例 #14
0
 public ItemStack RemoveItem(InventoryItemWrapper myItem)
 {
     return(RemoveItem(myItem, 1));
 }
コード例 #15
0
 public bool hasItemInQuantity(InventoryItemWrapper plantItem, int v)
 {
     return(GetItemAmount(plantItem.GetItemData()) >= v);
 }