UI/AreaPanel.razor
@using Sandbox;
@using Sandbox.UI;
@inherits BaseCanvas
@namespace HC3

<root class="slim">
	<div class="canvas window-container">
        <button class="@(AreaBuilder.AreaType == AreaType.Enclosure ? "selected" : "")" onclick=@(() => SelectMode(AreaType.Enclosure))>
            <img class="image" src="textures/path/path.png" />

            Enclosure
        </button>
	</div>
</root>

@code
{
	protected override void OnTreeFirstBuilt()
	{
		base.OnTreeFirstBuilt();

		// onclick=@(() => StartPlacing(building))

		RegisterAs("AreaCanvas");
	}

	AreaBuilder AreaBuilder => AreaBuilder.Instance;

	void SelectMode( AreaType type )
	{
		if ( AreaBuilder.AreaType == type )
		{
			Panel.PlaySound("sounds/ui/click5.sound");
			return;
		}

		Panel.PlaySound("sounds/ui/click3.sound");
		AreaBuilder.AreaType = type;
	}

	protected override int BuildHash() => System.HashCode.Combine(base.BuildHash(), AreaBuilder.AreaType);

    protected override void OnUpdate()
    {
        SetClass( "visible", IsVisible );

		if ( AreaBuilder.IsValid() )
        {
            AreaBuilder.Enabled = IsVisible;
        }
	}
}