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 );
}
}