Beispiel #1
0
    public void RemoveItem(IInventoryItem item)
    {
        int itemPosition = -1;

        for (int i = 0; i < mItems.Length && itemPosition == -1; i++)
        {
            if (mItems[i] == item)
            {
                itemPosition = i;
            }
        }
        if (itemPosition != -1)
        {
            mItems[itemPosition] = null;
            currentNumberOfItems--;
            item.OnDrop();
            Collider collider = (item as MonoBehaviour).GetComponent <Collider>();
            if (collider != null)
            {
                collider.enabled = true;
            }
            if (ItemRemoved != null)
            {
                ItemRemoved(this, new InventoryEventArgs(item));
            }
        }
    }
Beispiel #2
0
    /// <summary>
    /// Drop the object that is in the player's hand and removes it from the inventory.
    /// </summary>
    private void DropItem()
    {
        if (itemOnHand != null)
        {
            itemOnHand.OnDrop();
            itemOnHand = null;
        }

        inventory.RemoveItem(selectedSlot);
        hud.OnItemRemove(selectedSlot);
    }
 public void RemoveItem(IInventoryItem item)
 {
     if (items.Contains(item))
     {
         items.Remove(item);
         item.OnDrop();
         if (ItemRemoved != null)
         {
             ItemRemoved(this, new InventoryEventArgs(item, 0, false));
         }
     }
 }
Beispiel #4
0
 public void RemoveItem(IInventoryItem item)
 {
     if (mItems.Contains(item))
     {
         mItems.Remove(item);
         item.OnDrop();
         Collider collider = (item as MonoBehaviour).GetComponent <Collider>();
         if (collider != null)
         {
             collider.enabled = true;
         }
         ItemRemoved?.Invoke(this, new InventoryEventArgs(item));
     }
 }
Beispiel #5
0
    public void OnDrop(PointerEventData eventData)
    {
        RectTransform invPanel = transform as RectTransform;

        if (!RectTransformUtility.RectangleContainsScreenPoint(invPanel,
                                                               Input.mousePosition))
        {
            IInventoryItem item = eventData.pointerDrag.gameObject.GetComponent <ItemDragHandler>().Item;
            if (item != null)
            {
                _Inventory.RemoveItem(item);
                item.OnDrop();
            }
        }
    }
    public void OnDrop(PointerEventData eventData)
    {
        //musimy sprawdzic czy item został puszczony poza inventory panel

        //1. pobieram panel inventory
        RectTransform invPanel = transform as RectTransform;   //pozition, size, anchor and pivot info of a Rectangle

        //2. sprawdzamy czy pozycja myszy jest w środku inventory panel. jesli nie to remove from inventory
        if (!RectTransformUtility.RectangleContainsScreenPoint(invPanel, Input.mousePosition))  /// !           ???
        {
            //Debug.Log("Drop Item !!!");
            IInventoryItem item = eventData.pointerDrag.gameObject.GetComponent <ItemDragHandler>().Item;
            if (item != null)
            {
                _Inventory.RemoveItem(item);
                item.OnDrop();
            }
        }
    }
Beispiel #7
0
    //Drop機制
    public void RemoveItem(IInventoryItem item)
    {
        if (mItem.Contains(item))
        {
            mItem.Remove(item);
            item.OnDrop();

            Collider other = (item as MonoBehaviour).GetComponent <Collider>();
            if (other != null)
            {
                other.enabled = true;
            }

            if (ItemRemoved != null)
            {
                ItemRemoved(this, new InventoryEventArgs(item));
            }
        }
    }
Beispiel #8
0
    public void RemoveItem(IInventoryItem item)
    {
        if (mItems.Contains(item.Name))
        {
            Debug.Log(item.Name);
            mItems.Remove(item.Name);

            item.OnDrop();

            Collider col = (item as MonoBehaviour).GetComponent <Collider>();
            if (col != null)
            {
                col.enabled = true;
            }

            if (ItemRemoved != null)
            {
                ItemRemoved(this, new InventoryEventArgs(item));
            }
        }
    }
Beispiel #9
0
    public void RemoveItem(IInventoryItem item) //funckja dodaje obiekt z interface
    {
        if (mItems.Contains(item))              // jezeli w tymczasowym inventory jest wystarczajaca ilosc miejsca (tzn mItems to sa te w inventory), wtedy dodajemy item
        {
            mItems.Remove(item);                // usuniety z listy obiektow

            item.OnDrop();                      //onDrop z danego itemu

            Collider collider = (item as MonoBehaviour).GetComponent <Collider>();

            if (collider != null)
            {
                //collider.enabled = true;  // reaktywowanie collidera
                collider.gameObject.GetComponent <MeshRenderer>().enabled = false;
            }

            if (ItemRemoved != null)
            {
                ItemRemoved(this, new InventoryEventArgs(item));   //itemRemoved jest puszczony
            }
        }
    }
    public void Click()
    {
        print("clicked!");
        //Image image = this.GetComponent<Image>();
        Transform child = this.gameObject.transform.GetChild(0);
        Image     image = child.GetComponent <Image>();

        if (image.sprite != Resources.Load("None"))
        {
            print("cos tu jest");
            IInventoryItem item = _Inventory.mItems[index];

            if (item != null)
            {
                _Inventory.RemoveItem(item, index);
                item.OnDrop();
            }
        }
        else
        {
            print("nic tu nie ma");
        }
    }
Beispiel #11
0
    public void RemoveItem(IInventoryItem item)
    {
        // Debug.Log("[Inventory] Item being removed:" + item);
        if (inventoryList.Contains(item))
        {
            // Debug.Log("[Inventory] List contains item");
            bool retval = inventoryList.Remove(item);
            // Debug.Log(retval);
            Collider2D collider = (item as MonoBehaviour).GetComponent <Collider2D>();
            if (collider != null)
            {
                collider.enabled = true;
            }

            if (ItemRemoved != null)
            {
                // Debug.Log("[Inventory] Sending this: " + this + "and this item: " + item);
                // Tell Hud to remove the item
                ItemRemoved(this, new InventoryEventArgs(item));
            }
            item.OnDrop();
            inventoryList.Remove(item);
        }
    }
    public void RemoveItem(IInventoryItem item, int index)
    {
        //print("if?");
        if (mItems.Contains(item))
        {
            //print("if");
            mItems.Remove(item);

            item.OnDrop();

            Collider collider = (item as MonoBehaviour).GetComponent <Collider>();
            if (collider != null)
            {
                collider.enabled = true;
            }

            if (ItemRemoved != null)
            {
                //print(index);
                SetIndex(index);
                ItemRemoved(this, new InventoryEventArgs(item));
            }
        }
    }
Beispiel #13
0
 public void DropItem(IInventoryItem item, Vector3 position)
 {
     item.OnDrop(position);
     ItemDropped(this, new InventoryEventArgs(item));
 }
Beispiel #14
0
 public void RemoveItem(IInventoryItem item)
 {
     weaponUsed = null;
     item.OnDrop();
     itemRemoved?.Invoke(this, new InventoryEventArgs(item));
 }