Skip to content

UiToolbarBuilding ​

The UiToolbarBuilding class represents a single building button in the toolbar. It supports click-to-place and drag-to-place interactions, shows a tooltip with the building's name, description, cost, and built/limit count.

UiToolbarBuilding private ​

Extends UiComponent.

Properties ​

NameTypeDescription
uiUiCurrent Ui instance. Inherited from UiComponent.
componentElemHTMLElementThe .hud-toolbar-building anchor element with data-building and draggable="true".
buildingIdstringThe building type ID.
tooltipUiTooltipThe tooltip instance for this button.

Methods ​

constructor() ​

ts
function constructor(ui: Ui, buildingId: string): void

Creates the building button, attaches a UiTooltip, binds mousedown, mouseup, dragstart, drag, and dragend listeners, and registers for buildingsUpdate and buildingSchemaUpdate events.

update() ​

ts
function update(): void

Sets the data-key attribute from the schema and toggles is-disabled based on the schema's disabled flag.

onTooltipCreate() ​

ts
function onTooltipCreate(): string

Returns the tooltip HTML containing the building name, "Tier 1 Building" subtitle, built/limit count (highlighted red if at limit), description, and resource costs via Util.createResourceCostString().

onMouseDown() ​

ts
function onMouseDown(event: MouseEvent): void

Stops event propagation.

onMouseUp() ​

ts
function onMouseUp(event: MouseEvent): void

Stops event propagation. Emits startPlacingBuilding if not disabled.

onDragStart() ​

ts
function onDragStart(event: DragEvent): void

Sets a blank drag image, emits startPlacingBuilding, and hides the tooltip.

onDrag() ​

ts
function onDrag(event: DragEvent): void

Forwards drag events to inputManager as mouseMoved for live placement preview updates.

onDragEnd() ​

ts
function onDragEnd(event: DragEvent): void

Prevents default and emits placeBuilding.

onBuildingsUpdate() ​

ts
function onBuildingsUpdate(): void

Calls update().

onBuildingSchemaUpdate() ​

ts
function onBuildingSchemaUpdate(): void

Calls update().