예제 #1
0
    public void Exchange(ItemUi itemUi)
    {
        Item item   = itemUi.ItemObject;
        int  amount = itemUi.Amount;

        itemUi.SetItem(this.ItemObject, this.Amount);
        this.SetItem(item, amount);
    }
예제 #2
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.CompareTag("Item"))
     {
         ItemUi itemUi = collision.GetComponent <ItemUi>();
         itemUi.GetItem();
     }
 }
예제 #3
0
 public override void OnPointerDown(UnityEngine.EventSystems.PointerEventData eventData)
 {
     if (eventData.button == UnityEngine.EventSystems.PointerEventData.InputButton.Left)
     {
         if (InventoryManager.Instance.IsPickedItem)
         {
             if (transform.childCount > 0)
             {
                 ItemUi currentItem = transform.GetChild(0).GetComponent <ItemUi>();
                 if (IsRightItem(InventoryManager.Instance.PickedItem.ItemObject))
                 {
                     InventoryManager.Instance.PickedItem.Exchange(currentItem);
                 }
             }
             else
             {
                 if (IsRightItem(InventoryManager.Instance.PickedItem.ItemObject))
                 {
                     DisplayItemInEmpty();
                 }
             }
         }
         else
         {
             if (transform.childCount > 0)
             {
                 ItemUi item = transform.GetChild(0).GetComponent <ItemUi>();
                 InventoryManager.Instance.PickUpItem(item.ItemObject);
                 Destroy(transform.GetChild(0).gameObject);
             }
         }
     }
     else if (eventData.button == UnityEngine.EventSystems.PointerEventData.InputButton.Right)
     {
         if (transform.childCount > 0 && InventoryManager.Instance.IsPickedItem == false)
         {
             ItemUi currentItem = transform.GetChild(0).GetComponent <ItemUi>();
             Item   current     = currentItem.ItemObject;
             Destroy(currentItem.gameObject);
             transform.parent.parent.SendMessage("PutOff", current);
             InventoryManager.Instance.HideToolTip();
         }
     }
 }
예제 #4
0
 public virtual void OnPointerDown(PointerEventData eventData)
 {
     if (eventData.button == PointerEventData.InputButton.Left)
     {
         if (transform.childCount > 0)
         {
             ItemUi currentItem = transform.GetChild(0).GetComponent <ItemUi>();
             if (!InventoryManager.Instance.IsPickedItem)
             {
                 if (Input.GetKey(KeyCode.LeftControl))
                 {
                     int amountPicked = (currentItem.Amount + 1) / 2;
                     InventoryManager.Instance.PickUpItem(currentItem.ItemObject, amountPicked);
                     int amountRemained = currentItem.Amount - amountPicked;
                     if (amountRemained <= 0)
                     {
                         Destroy(currentItem.gameObject);
                     }
                     else
                     {
                         currentItem.SetAmount(amountRemained);
                     }
                 }
                 else
                 {
                     InventoryManager.Instance.PickUpItem(currentItem.ItemObject, currentItem.Amount);
                     Destroy(currentItem.gameObject);
                 }
             }
             else
             {
                 if (currentItem.ItemObject.Id == InventoryManager.Instance.PickedItem.ItemObject.Id)
                 {
                     if (Input.GetKey(KeyCode.LeftControl))
                     {
                         if (currentItem.ItemObject.Capacity > currentItem.Amount)
                         {
                             currentItem.AddAmount();
                             InventoryManager.Instance.RemoveItem();
                         }
                         else
                         {
                             return;
                         }
                     }
                     else
                     {
                         if (currentItem.ItemObject.Capacity > currentItem.Amount)
                         {
                             int amountRemain = currentItem.ItemObject.Capacity - currentItem.Amount;
                             if (amountRemain > InventoryManager.Instance.PickedItem.Amount)
                             {
                                 currentItem.AddAmount(InventoryManager.Instance.PickedItem.Amount);
                                 InventoryManager.Instance.RemoveItem(InventoryManager.Instance.PickedItem.Amount);
                             }
                             else
                             {
                                 currentItem.SetAmount(currentItem.ItemObject.Capacity);
                                 InventoryManager.Instance.RemoveItem(amountRemain);
                             }
                         }
                         else
                         {
                             return;
                         }
                     }
                 }
                 else
                 {
                     currentItem.Exchange(InventoryManager.Instance.PickedItem);
                 }
             }
         }
         else
         {
             if (InventoryManager.Instance.IsPickedItem == true)
             {
                 if (Input.GetKey(KeyCode.LeftControl))
                 {
                     DisplayItemInEmpty();
                 }
                 else
                 {
                     for (int i = 0; i < InventoryManager.Instance.PickedItem.Amount; i++)
                     {
                         this.StoreItem(InventoryManager.Instance.PickedItem.ItemObject);
                     }
                     InventoryManager.Instance.RemoveItem(InventoryManager.Instance.PickedItem.Amount);
                 }
             }
             else
             {
                 return;
             }
         }
     }
     else if (eventData.button == PointerEventData.InputButton.Right)
     {
         if (transform.childCount > 0 && InventoryManager.Instance.IsPickedItem == false)
         {
             ItemUi currentItem = transform.GetChild(0).GetComponent <ItemUi>();
             if (currentItem.ItemObject is Equipment || currentItem.ItemObject is Weapon)
             {
                 Item current = currentItem.ItemObject;
                 currentItem.AddAmount(-1);
                 if (currentItem.Amount <= 0)
                 {
                     DestroyImmediate(currentItem.gameObject);
                     InventoryManager.Instance.HideToolTip();
                 }
                 Character.Instance.PutOn(current);
             }
         }
     }
 }
예제 #5
0
    public bool IsFiled()
    {
        ItemUi itemUi = transform.GetChild(0).GetComponent <ItemUi>();

        return(itemUi.Amount >= itemUi.ItemObject.Capacity);
    }
예제 #6
0
        private void itemButton_Click(object sender, EventArgs e)
        {
            ItemUi itemUi = new ItemUi();

            itemUi.Show();
        }