AI/ActionSystem/BehaviorTree/Nodes/ConsumeItemNode.cs
using HC3.Inventory;
namespace HC3;
/// <summary>
/// A node that consumes an item from a guest's inventory.
/// </summary>
public class ConsumeItemNode : Node
{
private readonly Guest Guest;
private readonly Item Item;
private bool _used;
public ConsumeItemNode( Guest guest, Item item )
{
Guest = guest;
Item = item;
}
public override Status Tick()
{
if ( !_used && Item.IsValid() )
{
Item.Use();
Guest.Inventory.Remove( Item );
_used = true;
return Status.Success;
}
return !_used ? Status.Failure : Status.Success;
}
}