public void RemoveItem(int amount = 1)
 {
     M_PickedItem.ReduceAmount(amount);
     if (M_PickedItem.M_Amount <= 0)
     {
         M_IsPickedItem = false;
         M_PickedItem.Hide();
     }
 }
    public void PickUpItem(Item item, int amount)
    {
        M_PickedItem.SetItem(item, amount);
        M_IsPickedItem = true;
        M_PickedItem.Show();
        this.M_ToolTip.Hide();
        Vector2 position;

        RectTransformUtility.ScreenPointToLocalPointInRectangle(M_Canvas.transform as RectTransform, Input.mousePosition, null, out position);
        M_PickedItem.SetLocalPosition(position);
    }
    private void Update()
    {
        if (M_IsPickedItem)
        {
            Vector2 position;
            RectTransformUtility.ScreenPointToLocalPointInRectangle(M_Canvas.transform as RectTransform, Input.mousePosition, null, out position);
            M_PickedItem.SetLocalPosition(position);
        }
        else if (isToolTipShow)
        {
            Vector2 position;
            RectTransformUtility.ScreenPointToLocalPointInRectangle(M_Canvas.transform as RectTransform, Input.mousePosition, null, out position);
            M_ToolTip.SetLocalPosition(position + toolTipPositionOffset);
        }

        if (M_IsPickedItem && Input.GetMouseButtonDown(0) && UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject(-1) == false)
        {
            M_IsPickedItem = false;
            M_PickedItem.Hide();
        }
    }
 private void Start()
 {
     M_PickedItem.Hide();
 }