示例#1
0
        public override bool Use(General.Player player)
        {
            SetItemToAddToInventory();
            if (CanUse(player) == false)
            {
                if (_itemToAddToInventory != null && InventoryManager.CanAddItem(_itemToAddToInventory) == false)
                {
                    InventoryManager.langDatabase.collectionFull.Show(_itemToAddToInventory.name, _itemToAddToInventory.description, "Inventory");
                }

                return(false);
            }

            DoVisuals(); // Incase it's overwritten
            NotifyTriggerUsed(player);

            InventoryManager.AddItem(_itemToAddToInventory);

            // If the item prefab is set we won't need this object anymore, as it's holding the item for us.
            if (itemPrefab != null)
            {
                Destroy(gameObject);
            }

            return(true);
        }
示例#2
0
        public override bool CanUse(General.Player player)
        {
            var canUse = base.CanUse(player);

            if (canUse == false)
            {
                return(false);
            }

            // Has requireid items?
            bool canRemoveItems = InventoryManager.CanRemoveItems(requiredItems);

            if (canRemoveItems == false)
            {
                InventoryManager.langDatabase.triggerCantBeUsedMissingItems.Show(triggerName, requiredItems.Select(o => o.item.name).Aggregate((a, b) => a + ", " + b));
                return(false);
            }

            // Has required property requirements (stats)
            foreach (var req in statRequirements)
            {
                if (req.CanUse(player.inventoryPlayer) == false)
                {
                    InventoryManager.langDatabase.triggerCantBeUsedFailedStatRequirements.Show(triggerName, req.stat.statName);
                    return(false);
                }
            }

            return(true);
        }
示例#3
0
        public override bool CanUse(General.Player player)
        {
            var canUse = base.CanUse(player);

            if (canUse == false)
            {
                return(false);
            }

            if (_itemToAddToInventory == null)
            {
                return(false);
            }

            return(InventoryManager.CanAddItem(_itemToAddToInventory));
        }
示例#4
0
 public override bool UnUse(General.Player player)
 {
     return(false); // Can't un-use an item
 }
示例#5
0
 public override bool CanUnUse(General.Player player)
 {
     return(false); // It's not possible to un-use an ItemTrigger
 }
示例#6
0
 public override bool CanUnUse(General.Player player)
 {
     return(base.CanUnUse(player));
 }