示例#1
0
    private void Start()
    {
        itemDB         = GameObject.FindGameObjectWithTag("ItemDB").GetComponent <ItemDB>();
        inventoryPanel = transform.GetChild(0).gameObject;
        slotPanel      = inventoryPanel.transform.GetChild(0).gameObject;

        for (int i = 0; i < numSlots; i++)
        {
            items.Add(new Item());
            slots.Add(Instantiate(inventorySlot));
            slots[i].GetComponent <Slot>().slotNum = i;
            slots[i].transform.SetParent(slotPanel.transform, false);
        }

        // Adds items to inventory for testing.
        playerItems = GetComponent <ItemDB>();
        if (playerItems.fileName != "")
        {
            List <Item> playerItemList = itemDB.GetItemList <Item>();
            for (int i = 0; i < playerItemList.Count; i++)
            {
                TryAddItemByID(playerItemList[i].ID, 10, playerItems);
            }
        }
        //
    }
示例#2
0
    public IEnumerator OnMouseOver()
    {
        if (Input.GetButtonDown("Use"))
        {
            Vector3 objPos    = gameObject.transform.position;
            Vector3 playerPos = _player.transform.position;
            if (Vector3.Distance(objPos, playerPos) < minDistance && lootInventory.activeInHierarchy == false)
            {
                lootInventory.SetActive(true);
                yield return(new WaitForSeconds(0.05f));

                GameObject.FindGameObjectWithTag("lootUITitle").GetComponent <Text>().text = gameObject.name;
                foreach (Item item in items)
                {
                    lootInventory.GetComponent <LootInventory>().AddItem(item.ID);
                }
            }
        }
        else if (Input.GetButtonDown("VendorDebug") && lootInventory.activeInHierarchy == false)
        {
            lootInventory.SetActive(true);
            List <Item> allItems = idb.GetItemList <Item>();
            yield return(new WaitForSeconds(0.2f));

            GameObject.FindGameObjectWithTag("lootUITitle").GetComponent <Text>().text = gameObject.name;


            foreach (Item possibleItem in allItems)
            {
                if (possibleItem.Stackable)
                {
                    for (int i = 0; i < 5; i++)
                    {
                        lootInventory.GetComponent <LootInventory>().AddItem(possibleItem.ID);
                    }
                }
                else
                {
                    lootInventory.GetComponent <LootInventory>().AddItem(possibleItem.ID);
                }
            }
        }
    }