Skip to content

Class

PlacementServiceGroup

Generated GDScript class reference for GridPlacement.PlacementServiceGroup.

Status
Current
Version
v6.2.0
Source updated
2026-09-24
Generated on
2026-10-01

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 [member manipulation_service]; a platformer omits [member 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. [code]settings.manipulation == null[/code] means no manipulation). Lifecycle: [codeblock] var group := PlacementServiceGroupFactory.create_from_bundle(session.grid_placement_bundle, session) host.configure(session, group) # ... runtime ... group.dispose() [/codeblock]

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 [member 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