Editor/Pipe/ArchPipeSheets.cs
namespace Sunless.Architecture;

public sealed class ArchPipeForms : IArchPipeForms {
	public void Run( ToolSidebarWidget panel, ArchPipePart part, Action refresh, Action changed ) {
		ArchPipeUi.Run( panel, part, refresh, changed );
	}
}

public sealed class ArchPipeSheet : IArchSheet {
	public Type Payload => typeof( ArchPipePart );

	public void Build( ToolSidebarWidget panel, ArchTool tool, ArchSelection picked, Action refresh, Action changed ) {
		if ( picked.Item is ArchPipePart part ) {
			ArchPipeUi.Run( panel, part, refresh, changed );
		}
	}
}

public sealed class ArchPipeBracketSheet : IArchSheet {
	public Type Payload => typeof( ArchPipeBracketPart );

	public void Build( ToolSidebarWidget panel, ArchTool tool, ArchSelection picked, Action refresh, Action changed ) {
		if ( picked.Item is ArchPipeBracketPart part ) {
			ArchPipeUi.Brackets( panel, part, refresh, changed );
		}
	}
}