Skip to content

Class

PlacementServiceGroup

Generated GDScript class reference for GridPlacement.PlacementServiceGroup.

Status
Current
Version
v6.2.1
Source updated
2026-09-24
Generated on
2026-10-22

Runtime service composition derived from GridPlacementSettings. Holds nullable domain services — the factory reads the game's settings to decide which services to instantiate. A terrain-only game omits manipulation_service; a platformer omits terrain_service. The group is RefCounted (not a Resource) because service composition is a runtime decision derived from existing settings, not editor-authored data. The settings already express domain decisions (e.g. settings.manipulation == null means no manipulation). Lifecycle: var group := PlacementServiceGroupFactory.create_from_bundle(session.grid_placement_bundle, session) host.configure(session, group) # ... runtime ... group.dispose()

Source: addons/grid_placement/services/placement_service_group.gd

Syntax

class PlacementServiceGroup extends RefCounted

Members

NameKindSummary
terrain_serviceProperty6.0.0-211: terrain slot typed by capability contract. Concrete instance is 2D or 3D depending on factory injection.
manipulation_serviceProperty6.0.0-211: manipulation slot typed by capability contract.
grid_targeting_serviceProperty6.0.0-211: targeting slot typed by capability contract.
brush_serviceProperty6.0.0-210/211: brush slot typed by capability contract. Factory refuses to attach a brush whose supported_dimensions() does not include the active dimension; 3D groups simply leave this null.
brush_coordinatorPropertyTyped 2D view of brush_service: the host's 2D brush paths need BrushCoordinator-only methods. Null when no service is set or the service is a 3D-only implementation.
refund_servicePropertyScene-free refund service. Null when manipulation not configured.
drag_servicePropertyScene-free drag service. Always available (zero cost when unused).
object_placement_servicePropertyScene-free object placement service. Owns the build/place flow without requiring a scene node — wraps PlacementBuildOrchestrator directly. Created when [GridPlacementSettings.building] is non-null for a 2D group. The internal 3D path uses its separate ObjectPlacementService3D.
target_highlighterPropertyScene-free hover highlighter. Tints the hovered target by mode and Manipulatable state (movable/demolishable/info colors). Created for 2D groups only: it modulates CanvasItems, so the 3D path (which owns its separate target_highlight_3d) leaves this null.
register_terrainMethod
register_manipulationMethod
register_targetingMethod
register_brushMethod
get_object_placement_service_for_sessionMethod
sessionPropertyThe session this group was configured from.
configureMethod
swap_active_statesMethod
disposeMethod
remove_sessionMethod
get_runtime_issuesMethod