UI/LevelCanvasInput.cs

UI panel that tracks left mouse button state. It exposes PrimaryHeld which is set true on left mouse down and false on left mouse up.

using Sandbox.UI;

namespace BlockParty;

public sealed class LevelCanvasInput : Panel
{
	public bool PrimaryHeld { get; private set; }

	protected override void OnMouseDown( MousePanelEvent e )
	{
		if ( e.MouseButton == MouseButtons.Left ) PrimaryHeld = true;
		base.OnMouseDown( e );
	}

	protected override void OnMouseUp( MousePanelEvent e )
	{
		if ( e.MouseButton == MouseButtons.Left ) PrimaryHeld = false;
		base.OnMouseUp( e );
	}
}