Ejemplo n.º 1
0
    void OnItemLooted(string itemName, int quantity)
    {
        Item item = ItemManager.instance.itemsData.GetItemByName(itemName);

        ItemHUD itemHUD = itemHUDs.Find((itemHUD) => itemHUD.ItemNameKey == item.ItemNameKey);

        if (itemHUD != null)
        {
            itemHUD.UpdateQuantity(quantity);
        }
        else
        {
            itemHUD = Instantiate(itemHUDPrefab);
            itemHUD.transform.SetParent(transform, false);
            itemHUD.Init(item, quantity);
            itemHUDs.Add(itemHUD);
        }
    }
Ejemplo n.º 2
0
    public bool AddItem(Item item)
    {
        if (items.ContainsKey(item.Name) == false)
        {
            if (numItemTypes < MaxNumItemTypes)
            {
                numItemTypes++;
                items.Add(item.Name, 1);
            }
            else
            {
                DebugLog.Print(DebugLog.LogType.Warning, "cannot add item. inventory is full.");
                return(false);
            }
        }
        else
        {
            items[item.Name]++;
        }

        if (itemHUDs.ContainsKey(item.Name) == false)
        {
            GameObject newItemHUD = Instantiate(ItemHUDPrefab.gameObject, Holder);
            ItemHUD    itemHUD    = newItemHUD.GetComponent <ItemHUD>();
            itemHUD.Initialize(item, items[item.Name]);
            itemHUDs.Add(item.Name, itemHUD);
        }
        else
        {
            itemHUDs[item.Name].SetNum(items[item.Name]);
        }

        if (itemPrefabs.ContainsKey(item.Name) == false)
        {
            itemPrefabs.Add(item.Name, item);
        }

        if (OnItemAdded != null)
        {
            OnItemAdded(item);
        }

        return(true);
    }