コード例 #1
0
 /// <summary>
 /// Clears the item slot
 /// </summary>
 public void ClearSlot()
 {
     item                    = null;
     icon.sprite             = null;
     icon.enabled            = false;
     tossButton.interactable = false;
 }
コード例 #2
0
    public void Drop(ItemUniversalData item)
    {
        GameManager.Instance.Spawn(item, gameObject.transform);

        // Invoke the item dropped event
        Eventhandler.Instance.ItemDroppedEvent.Invoke(item);

        // Remove the item from the list.
        Remove(item);
    }
コード例 #3
0
    /// <summary>
    /// Removes the given item from the inventory.
    /// </summary>
    /// <param name="item"></param>
    public void Remove(ItemUniversalData item)
    {
        items.Remove(item);
        currentWeight -= item.weight;
        currentVolume -= item.volume;

        if (onItemChangedCallback != null)
        {
            onItemChangedCallback.Invoke();
        }
    }
コード例 #4
0
    /// <summary>
    /// Checks if the players inventory contains at least one of the given item.
    /// </summary>
    /// <param name="item"></param>
    /// <returns>true if the players inventory contains the given item, otherwise false.</returns>
    public bool Contains(ItemUniversalData item)
    {
        foreach (ItemUniversalData element in items)
        {
            if (item.fileName == element.fileName)
            {
                return(true);
            }
        }

        return(false);
    }
コード例 #5
0
    //void Start()
    //{
    //    icon = transform.GetComponent<>()
    //}

    /// <summary>
    /// Adds an item into the inventory
    /// </summary>
    /// <param name="newItem"></param>
    public void AddItem(ItemUniversalData newItem)
    {
        item = newItem;
        if (icon != null)
        {
            icon.sprite             = item.icon;
            icon.enabled            = true;
            tossButton.interactable = true;
        }
        else
        {
            Debug.Log("Icon is null");
        }
    }
コード例 #6
0
    public bool Add(ItemUniversalData item)
    {
        if (items.Count >= space || currentVolume + item.volume > maxVolume || currentWeight + item.weight > maxWeight)
        {
            Debug.Log("Too. Much. Clatter.");

            return(false);
        }

        Debug.Log("Picking up!");
        items.Add(item);
        currentWeight += item.weight;
        currentVolume += item.volume;
        if (onItemChangedCallback != null)
        {
            onItemChangedCallback.Invoke();
        }

        // Invoke the item pickup event.
        Eventhandler.Instance.ItemPickupEvent.Invoke(item);

        return(true);
    }
コード例 #7
0
 /// <summary>
 /// Compares if this is equal to the given item.
 /// Equality is determined by their fileName variable.
 /// </summary>
 /// <param name="other"></param>
 /// <returns>true if they are equal, false otherwise.</returns>
 public bool Equals(ItemUniversalData other)
 {
     return(fileName == other.fileName);
 }
コード例 #8
0
 /// <summary>
 /// Listener reports ItemEvents invoked
 /// </summary>
 /// <param name="item"></param>
 private void Ping(ItemUniversalData item)
 {
     Debug.Log("Ping item: " + item.itemName);
 }
コード例 #9
0
 /// <summary>
 /// Spawns a defined item with the inserted transform
 /// </summary>
 /// <param name="item"></param>
 /// <param name="transform"></param>
 public void Spawn(ItemUniversalData item, Transform transform)
 {
     Instantiate(Resources.Load("InventoryItems/" + item.fileName), transform.position, transform.rotation);
 }