Chris' Tutorials
Docs/Grid Placement

Class

PlacementServiceGroup

Generated GDScript class reference for GridPlacement.PlacementServiceGroup.

StatusDraft
Versionv6.0
UpdatedDevelopment docs generated from GDScript source

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

Draft — Unreleased:This page is in active development. APIs, class names, and behavior may change before the release is finalized. Use it as a preview of what's coming — not as a stable integration target.

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).
register_terrainMethod
register_manipulationMethod
register_targetingMethod
register_brushMethod
sessionPropertyThe session this group was configured from.
configureMethod
statesProperty
settingsProperty
actionsProperty
loggerProperty
targeting_settingsProperty
mode_stateProperty
logger_refProperty
path_managerProperty
manip_settingsProperty
contextsProperty
indicator_ctxProperty
swap_active_statesMethod
disposeMethod
get_runtime_issuesMethod
issuesProperty

Source

addons/grid_placement/services/placement_service_group.gd

Plugin docs root:gdscript/plugins/grid_placement_dev/docs