Park/Buildings/Shop.cs
using HC3.Inventory;

namespace HC3;

public partial class Shop : Building
{
	[Property, Feature( "Shop" )] public List<GameObject> Items { get; set; }

	public override bool OnUse( Guest guest )
	{
		if ( Items is null ) return false;
		if ( Items.Count < 1 ) return false;

		var item = Game.Random.FromList( Items );
		if ( !item.IsValid() ) return false;

		guest.Inventory.Add( item );

		if ( IInspectable.Current == guest )
		{
			NotificationPanel.Instance?.Broadcast( $"{guest.FullName} bought a {item.GetComponent<Item>().Title}!" );
		}

		Uses++;

		return base.OnUse( guest );
	}
}