public void OnClick(GameObject obj)
    {
        if (_itemsDisplayed.ContainsKey(obj) && !_itemsDisplayed[obj]._item._id.Equals(-1))
        {
            ItemObject item = _inventory._databaseObject.getItem[_itemsDisplayed[obj]._item._id];
            if (item._itemType.Equals(ItemType.Potion))
            {
                PotionObject potionObject = (PotionObject)item;
                switch (item._id)
                {
                case 0:
                    global::Player.Instance.HealDamage(potionObject._healthRestore);
                    break;

                case 1:
                    global::Player.Instance.IncreaseDefense(potionObject._defenseBonus);
                    break;

                case 2:
                    global::Player.Instance.IncreaseStrength(potionObject._strengthBonnus);
                    break;
                }
                if (_itemsDisplayed[obj]._amount > 0)
                {
                    _itemsDisplayed[obj]._amount--;
                    if (_itemsDisplayed[obj]._amount == 0)
                    {
                        _inventory.RemoveItem(_itemsDisplayed[obj]._item);
                    }
                }
            }
        }
    }
Exemplo n.º 2
0
    public void OnItemSelect()
    {
        if (state != BattleState.PLAYERTURN)
        {
            return;
        }
        moveName = EventSystem.current.currentSelectedGameObject.name;
        InventorySlot itemSlotToUse = inventory.findItemWithName(moveName);

        inventory.UseItem(itemSlotToUse.item, player);
        inventory.RemoveItem(inventory.Container.IndexOf(itemSlotToUse));
        if (itemSlotToUse.item.type == ItemType.Anxiety)
        {
            AnxietyItem item = (AnxietyItem)itemSlotToUse.item;
            PlayerStats.Instance.adjustAnxiety((int)item.anxietyChange);
        }
        else
        {
            WillItem item = (WillItem)itemSlotToUse.item;
            PlayerStats.Instance.adjustWill((int)item.willChange);
        }

        StartCoroutine(DisplayMessage("You used " + itemSlotToUse.item.name + "!"));
        Debug.Log("used item" + itemSlotToUse.item.name);

        playerHUD.SetPlayerHUD();
        StartCoroutine(Buffer());
        move = 5;
        ParseOptions();
    }
Exemplo n.º 3
0
    //void ConfirmSelect() {
    //    inventoryOptions.transform.GetChild(2).GetChild(0).GetComponent<UnityEngine.UI.Image>().enabled = false;
    //    isControlInInventory = false;
    //    isControlInSlots = true;
    //}

    void YesConfirm()
    {
        if (isUseMode && playerController != null)
        {
            ItemObject itemToUse = inventory.Container[itemCursorIndex].item;
            inventory.UseItem(itemToUse, playerController);
            GameObject prefabToDestroy = inventory.Container[itemCursorIndex].itemObjects.Peek();
            Destroy(prefabToDestroy);
        }
        if (isDropMode && playerController != null)
        {
            ItemObject itemToUse         = inventory.Container[itemCursorIndex].item;
            GameObject itemObjectDropped = inventory.Container[itemCursorIndex].itemObjects.Peek();
            if (itemObjectDropped != null)
            {
                Vector3 pos = playerController.transform.position;
                itemObjectDropped.transform.position = pos;
                itemObjectDropped.SetActive(true);
                Debug.Log("Item dropped");
            }
        }
        bool didRemoveItemCompletely = inventory.RemoveItem(itemCursorIndex);

        if (didRemoveItemCompletely)
        {
            if (itemCursorIndex > 0)
            {
                itemCursorIndex -= 1;
                itemEntries.transform.GetChild(itemCursorIndex).GetChild(1).GetComponent <UnityEngine.UI.Text>().text = ">";
            }
        }
        UpdateDisplay();
    }
Exemplo n.º 4
0
 public void RemoveItem(ItemObject targetItem)
 {
     if (inventory.RemoveItem(targetItem))
     {
         uIManager.RemoveItem(targetItem);
     }
 }
Exemplo n.º 5
0
 public void OnDragEnd(GameObject obj)
 {
     if (mouseItem.hoverObj)
     {
         inventory.MoveItem(itemsDisplayed[obj], itemsDisplayed[mouseItem.hoverObj]);
     }
     else
     {
         inventory.RemoveItem(itemsDisplayed[obj].item);
     }
     Destroy(mouseItem.obj);
     mouseItem.item = null;
 }
Exemplo n.º 6
0
    public void OnEndDrag(GameObject obj)
    {
        if (MouseItem.HoverObj)
        {
            inventory.MoveItem(_itemsDisplayed[obj], _itemsDisplayed[MouseItem.HoverObj]);
        }
        else
        {
            inventory.RemoveItem(_itemsDisplayed[obj].item);
        }

        Destroy(MouseItem.Obj);
        MouseItem.Item = null;
    }
Exemplo n.º 7
0
 /*
  * void Jump(){
  *  if( ( Input.GetButtonDown("Jump") || Input.GetAxisRaw("Vertical")>0 )
  *  &&!anim.GetBool("isJumping")){
  *      isJumping=true;
  *      anim.SetTrigger("doJumping");
  *      anim.SetBool("isJumping",true);
  *  }
  *  if(!isJumping){
  *      return;
  *  }
  *
  *  if(isInAir){
  *      return;
  *  }
  *
  *  rb.velocity = Vector2.zero;
  *
  *  Vector2 jumpVelocity = new Vector2(0,jumpPower);
  *  rb.AddForce(jumpVelocity,ForceMode2D.Impulse);
  *
  *  isJumping=false;
  * }
  */
 void UseTheFirstItem()
 {
     if (Input.GetMouseButtonDown(1))
     {
         //Debug.Log("GetButtonDown: time = " + Time.time);
         var item = inventory.GetItemByIndex(0);
         if (item != null)
         {
             //Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
             inventory.RemoveItem(item, 1);
             //item.ExecuteAllItemBuff(this.gameObject,mousePosition);
             item.ExecuteAllItemBuff(this.gameObject);
         }
     }
 }
Exemplo n.º 8
0
    //void ConfirmSelect() {
    //    inventoryOptions.transform.GetChild(2).GetChild(0).GetComponent<UnityEngine.UI.Image>().enabled = false;
    //    isControlInInventory = false;
    //    isControlInSlots = true;
    //}

    void YesConfirm()
    {
        if (isUseMode && playerController != null)
        {
            ItemObject itemToUse = inventory.Container[itemCursorIndex].item;
            inventory.UseItem(itemToUse, playerController);
        }
        bool didRemoveItemCompletely = inventory.RemoveItem(itemCursorIndex);

        if (didRemoveItemCompletely)
        {
            if (itemCursorIndex > 0)
            {
                itemCursorIndex -= 1;
                itemEntries.transform.GetChild(itemCursorIndex).GetChild(1).GetComponent <UnityEngine.UI.Text>().text = ">";
            }
        }
        UpdateDisplay();
    }
Exemplo n.º 9
0
    public void Equip(EquipmentObject newItem)
    {
        // Get enum index of item's equipSlot
        int slotIndex = (int)newItem.equipSlotName;

        UnEquip(slotIndex);

        // if there is already something equiped, put it back in bag

        /*if (CurrentEquipment[slotIndex] != null)
         * {
         *  EquipmentObject oldItem = null;
         *
         *  oldItem = CurrentEquipment[slotIndex];
         *
         *  inventory.Add(oldItem);
         * }*/

        CurrentEquipment[slotIndex] = newItem;

        // Update when equip
        // add stats
        newItem.Equip(PlayerManager.instance.Player);

        inventory.RemoveItem(newItem, 1);

        /*if (onEquipmentChangedUpdateStats != null)
         * {
         *  onEquipmentChangedUpdateStats.Invoke(newItem, oldItem);
         * }*/
        // update equipment UI
        if (onEquipmentChangedUpdateUI != null)
        {
            onEquipmentChangedUpdateUI.Invoke();
        }
    }
Exemplo n.º 10
0
    public void OnDragEnd(GameObject obj)
    {
        var itemOnMouse    = player.mouseItem;
        var mouseHoverItem = itemOnMouse.hoverItem;
        var mouseHoberObj  = itemOnMouse.hoverObj;
        var GetItemObject  = inventory.database.GetItem;

        if (itemOnMouse.ui != null)
        {
            if (mouseHoberObj)
            {
                if (mouseHoverItem.CanPlaceInSlot(GetItemObject[itemsDisplayed[obj].ID]) && (mouseHoverItem.item.Id <= -1 || (mouseHoverItem.item.Id >= 0 && itemsDisplayed[obj].CanPlaceInSlot(GetItemObject[mouseHoverItem.item.Id]))))
                {
                    inventory.MoveItem(itemsDisplayed[obj], mouseHoverItem.parent.itemsDisplayed[itemOnMouse.hoverObj]);
                }
            }
        }
        else
        {
            inventory.RemoveItem(itemsDisplayed[obj].item);
        }
        Destroy(itemOnMouse.obj);
        itemOnMouse.item = null;
    }
Exemplo n.º 11
0
        public void OnDragEnd(GameObject obj)
        {
            if (dragDropIcon.hoveringOverObject != null)
            {
                var endDragButton = dragDropIcon.hoveringOverObject.GetComponent <InventorySlotButton>();

                if (endDragButton != null && dragDropIcon.fromButton != null)
                {
                    var fromParent = dragDropIcon.fromButton.inventoryGroupParent;
                    var toParent   = endDragButton.inventoryGroupParent;
                    var fromSlot   = SlotMap[dragDropIcon.fromButton];
                    var toSlot     = toParent.SlotMap[endDragButton];

                    var fromGear = fromSlot.item as Gear.Gear;
                    var toGear   = toSlot.item as Gear.Gear;
                    if (toSlot.CanPlaceInSlot(fromGear))
                    {
                        if (fromSlot.CanPlaceInSlot(toGear) || toSlot.item.Id < 0)
                        {
                            if (fromParent == toParent)
                            {
                                Debug.Log("Switching in same inventory");
                                inventory.MoveItem(fromSlot, toSlot);
                            }
                            else
                            {
                                Debug.Log("Switching two different inventories");
                                var tempItem   = fromSlot.item;
                                var tempAmount = fromSlot.amount;
                                fromParent.inventory.SetInventorySlot(fromSlot, toSlot.item, toSlot.amount);
                                toParent.inventory.SetInventorySlot(toSlot, tempItem, tempAmount);
                            }
                        }
                        else
                        {
                            Debug.Log($"Sending slot cannot hold gearType: {toGear.gearSlot}");
                        }
                    }
                    else
                    {
                        Debug.Log($"Receiving slot cannot hold gearType: {fromGear.gearSlot}");
                        Debug.Log($"Receiving slot can hold ItemTypes: {string.Join(", ", toSlot.AllowedItemTypes)} and GearSlots: {string.Join(", ", toSlot.AllowedGearTypes)}");
                    }
                }
            }
            else if (dragDropIcon.icon != null)
            {
                Debug.Log("Dropping Item");
                var fromSlot      = SlotMap[dragDropIcon.fromButton];
                var button        = obj.GetComponent <InventorySlotButton>();
                var droppedObject = Instantiate(button.itemSettings.lootableItems.lootableItemMap[fromSlot.item.itemType], Utilities.MouseOnPlane(), Quaternion.identity);
                var lootableData  = droppedObject.GetComponent <LootableItem>();
                lootableData.amount  = fromSlot.amount;
                lootableData.setItem = fromSlot.item;

                inventory.RemoveItem(fromSlot.item, fromSlot.amount);
            }

            Destroy(dragDropIcon.icon);
            dragDropIcon.icon       = null;
            dragDropIcon.fromButton = null;
        }