Scene-free brush lifecycle coordinator. Owns [BrushState] and coordinates the start/complete/anchor/commit/cancel/paint sequence for terrain brushes, mirroring TerrainPlacementService2D and PlacementInputHandler (instance + configure) so behavior is swappable per-game by subclass. Paint outcomes are emitted by the terrain service. The coordinator emits the pending-fill preview cue after anchoring, without claiming a paint outcome. Usage: var coord := BrushCoordinator.new() coord.configure(states, terrain_service) coord.set_brush_shape(PlacementEnums.ObjectTool.LINE) coord.start_terrain_brush_drag() var report := coord.complete_terrain_brush()
Source: addons/grid_placement/systems/building/components/brush_coordinator.gd
Syntax
class BrushCoordinator extends BrushServiceContractMembers
| Name | Kind | Summary |
|---|---|---|
brush_state | Property | Owned [BrushState]; [PlacementInputHandler] reads drag/pending flags to resolve InputIntents. |
max_brush_cells | Property | Per-action cell cap forwarded to [BrushShapeGenerator]; synced from PlacementSettings. |
configure | Method | |
set_states | Method | |
set_brush_shape | Method | |
start_terrain_brush_drag | Method | |
complete_terrain_brush | Method | |
complete_terrain_brush_dry | Method | |
anchor_pending_terrain | Method | |
commit_pending | Method | |
cancel_pending | Method | |
start_object_line_drag | Method | |
complete_object_line_drag | Method | |
is_object_line_dragging | Method | |
start_demolish_box | Method | |
update_demolish_box | Method | |
complete_demolish_box | Method | |
is_demolish_box_active | Method | |
get_demolish_rect | Method | |
is_any_drag_active | Method | |
cancel_all | Method | |
is_terrain_dragging | Method | |
is_pending | Method | |
get_brush_shape | Method | |
get_drag_start | Method | |
get_pending_cells | Method | |
get_object_line_drag_start | Method | |
get_brush_state | Method | |
paint_with_current_brush | Method | |
set_terrain_context | Method | |
supported_dimensions | Method | |
get_runtime_issues | Method | |
set_session_brush_state | Method |