Skip to content
ct

Class

PlacementServiceGroup

Generated GDScript class reference for GridPlacement.PlacementServiceGroup.

Status
Draft
Version
v6.0
Updated
Development docs generated from GDScript source

This is unreleased documentation in active development. APIs, class names, and behavior may change before the final release.

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_session(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_coordinatorPropertyBack-compat: property alias for callers still reading the old field name (grid_placement_host and friends access `.brush_coordinator` directly, so this must be a property, not just a helper method).
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 [PlacementSystem] node — wraps the same [PlacementBuildOrchestrator] the legacy class delegates to. Created when [GridPlacementSettings.building] is non-null for a 2D group. The internal 3D path uses its separate [ObjectPlacementService3D].
register_terrainMethod
register_manipulationMethod
register_targetingMethod
register_brushMethod
sessionPropertyThe session this group was configured from.
configureMethod
statesProperty
settingsProperty
actionsProperty
targeting_settingsProperty
mode_stateProperty
path_managerProperty
manip_settingsProperty
contextsProperty
indicator_ctxProperty
obj_contextsProperty
indicator_ctxProperty
swap_active_statesMethod
disposeMethod
get_runtime_issuesMethod
issuesProperty