Esempio n. 1
0
    public void EquipFrom(ExpendableItem newItem, EquipSlotNameType equipSlotName, int invSlotIndex)
    {
        if (newItem == null)
        {
            return;
        }
        int            slotIndex = (int)equipSlotName;
        ExpendableItem oldItem;

        if ((oldItem = _equippedItems[slotIndex]) != null)
        {
            UnequipTo(equipSlotName, invSlotIndex);
        }

        _equippedItems[slotIndex] = newItem;
        EventManager.Instance.AddListener(EventName.WalkDistanceThresholdReached, newItem.ReduceDurability);
        Debug.Log($"Equipped {newItem.Item.ItemName}.");

        Analytics.CustomEvent("itemEquipped", new Dictionary <string, object>()
        {
            { "itemName", newItem.Item.ItemName },
            { "itemSlot", equipSlotName.ToString() }
        });

        EventManager.Instance.InvokeEvent(EventName.EquipmentChanged,
                                          new EquipmentChangedEventArgs(oldItem?.Item, newItem.Item, equipSlotName));
    }
Esempio n. 2
0
 public override void OnSelect()
 {
     inventory.item_info.Clear();
     inventory.item_info.SetItemIcon(this);
     inventory.item_info.SetItemName(data.meta.name);
     inventory.item_info.SetDescription(data.meta.description);
     inventory.item_info.SetButtonListener(UIItemInfo.Action.Drop, () =>
     {
         GameManager.Instance.player.inventory.Remove(data.slot_index);
         inventory.item_info.Clear();
     });
     inventory.item_info.SetButtonListener(UIItemInfo.Action.Drink, () =>
     {
         ExpendableItem potionItem = GameManager.Instance.player.inventory.Remove(data.slot_index) as ExpendableItem;
         if (null == potionItem)
         {
             throw new System.InvalidCastException();
         }
         potionItem.Use(GameManager.Instance.player);
         inventory.item_info.Clear();
     });
 }
Esempio n. 3
0
 public EquipmentDestroyedEventArgs(ExpendableItem expendable)
 {
     Expendable = expendable;
 }
Esempio n. 4
0
 public void Equip(ExpendableItem newItem, EquipSlotNameType equipSlotName)
 {
     EquipFrom(newItem, equipSlotName, -1);
 }
 public EquipmentUsedEventArgs(ExpendableItem expendableItem, int inventorySlotIndex)
 {
     ExpendableItem     = expendableItem;
     InventorySlotIndex = inventorySlotIndex;
 }