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); }
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); }
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)); }
public override bool UnUse(General.Player player) { return(false); // Can't un-use an item }
public override bool CanUnUse(General.Player player) { return(false); // It's not possible to un-use an ItemTrigger }
public override bool CanUnUse(General.Player player) { return(base.CanUnUse(player)); }