//! Destroy Item from the game.
    /*! Receives and item from the UI, removes it from the list and then destroy it from the scene. */
    public void DestroyItem(ItemStackableBehavior itemUI)
    {
        AnyObjectInstantiation obj = itemUI.getObject();

        RemoveItem(itemUI);
        Destroy(obj.gameObject);
    }
    //! Remove Item from inventory.

    /*! Receives the item from the interface, remove it from the interface, from the List of itens
     * and enables the original GameObject again.*/
    public void RemoveItem(ItemStackableBehavior itemUI)
    {
        tempItemUI = itemUI;
        itens.Remove(itemUI.getObject());
        requestRemoveItem = true;
        itemUI.getObject().gameObject.SetActive(enabled);
    }
    /*//-----------------LeMigue para Glassware-----------------------
     * public void addNewGlasswareUI(Glassware item)
     * {
     *      // if there is freedPosition, use it. If NOT, use the last item position.
     *      //prefabItem.GetComponent<AnyObjectInstantiation>().copyItemBase(item);
     *
     *      Debug.Log("Adding " + item.name
     + " to " + 1
     + " at " + transform.parent.transform.parent.transform.parent.name);
     +
     +      // find x and y for position
     +      float y = (prefabRect.rect.height + y_Offset) * lastItemPos ;
     +
     +      // set position
     +      Vector3 currentPos = new Vector3(1f, -60-110*(lastItemPos));
     +
     +
     +      // add content size to fit more items
     +
     +      contentRect.sizeDelta = new Vector2(
     +              1f, // width doesnt change
     +              120 + (prefabRect.rect.height + y_Offset) * lastItemPos);
     +
     +      // instantiate Item
     +      GameObject tempItem = Instantiate(prefabItem.gameObject,
     +                                        currentPos,
     +                                        prefabItem.transform.rotation) as GameObject;
     +
     +      // next position on inventory grid
     +      lastItemPos++;
     +
     +      // set new item parent to scroll rect content
     +      //tempItem.GetComponent<Image>().sprite = item.icon;
     +      tempItem.transform.SetParent(contentRect.transform, false);
     +      tempItem.name = item.name + "_" +1;
     +      tempItem.GetComponent<InventoryItem> ().itemBeingHeld = item;
     +      tempItem.GetComponent<InventoryItem> ().nameText.text = item.name;
     +      //tempItem.GetComponent<ItemStackableBehavior>().setObject(item);
     + }
     + //-----------------END OF LeMigue para Glassware-----------------------
     +
     + //-----------------LeMigue para Reagents-----------------------
     + public void addNewReagentsUI(Compound item, Compound data)
     + {
     +      // if there is freedPosition, use it. If NOT, use the last item position.
     +      //prefabItem.GetComponent<AnyObjectInstantiation>().copyItemBase(item);
     +
     +      Debug.Log("Adding " + item.name
     + " to " + 1
     + " at " + transform.parent.transform.parent.transform.parent.name);
     +
     +      // find x and y for position
     +      float y = (prefabRect.rect.height + y_Offset) * lastItemPos ;
     +
     +      // set position
     +      Vector3 currentPos = new Vector3(1f, -60-110*(lastItemPos));
     +
     +
     +      // add content size to fit more items
     +
     +      contentRect.sizeDelta = new Vector2(
     +              1f, // width doesnt change
     +              120 + (prefabRect.rect.height + y_Offset) * lastItemPos);
     +
     +      // instantiate Item
     +      GameObject tempItem = Instantiate(prefabItem.gameObject,
     +                                        currentPos,
     +                                        prefabItem.transform.rotation) as GameObject;
     +
     +      // next position on inventory grid
     +      lastItemPos++;
     +
     +      // set new item parent to scroll rect content
     +      //tempItem.GetComponent<Image>().sprite = item.icon;
     +      tempItem.transform.SetParent(contentRect.transform, false);
     +      tempItem.name = data.name + "_" +1;
     +      tempItem.GetComponent<InventoryItem> ().nameText.text = data.name;
     +      if (data.isSolid)
     +              tempItem.AddComponent<Compound> ();
     +      else
     +              tempItem.AddComponent<Compound> ();
     +      tempItem.GetComponent<Compound> ().setValues (data);
     +      tempItem.GetComponent<InventoryItem> ().HoldItem(item);
     +      //tempItem.GetComponent<ItemStackableBehavior>().setObject(item);
     + }
     + //-----------------END OF LeMigue para Reagents-----------------------*/

    //! Remove Item from Inventory UI
    /*! Using the selected itemUI as reference, delete it from the UI and add it's position into the freedPos queue.*/
    public void removeItemUI(ItemStackableBehavior itemUI)
    {
        Debug.Log("Removing " + itemUI.name
                  + " from " + itemUI.getObject().getCurrentPosition()
                  + " at " + transform.parent.transform.parent.transform.parent.name);

        freedPos.Add(itemUI.getObject().getCurrentPosition());
        freedPos.Sort();

        Debug.Log("Freed: " + freedPos[0]);

        lastItemPos--;

        Destroy(itemUI.gameObject);
    }