Level/ActionGraphInteract.cs
using Opium;
using Sandbox;

public sealed class ActionGraphInteract : BaseInteract
{
	[Property] public Action OnUsed { get; set; }

	[Property] bool Toggled { get; set; } = false;

	public override void OnUse( GameObject player )
	{
		if ( Toggled )
		{
			Toggled = false;

			OnUsed?.Invoke();

		}
		else
		{
			Toggled = true;

			OnUsed?.Invoke();
		}
	}
}