Skip to content

Class

ObjectPlacementService

Generated GDScript class reference for GridPlacement.ObjectPlacementService.

Status
Current
Version
v6.1.0
Source updated
2026-09-24
Generated on
2026-09-23

Scene-free object placement service. Owns the object build/place flow without requiring a scene node. Wraps [PlacementBuildOrchestrator.run_build] directly so host-path object placement is scene-free. Lifecycle: [codeblock] var service := ObjectPlacementService.new() service.configure(states, settings, indicator_context) service.create_preview(placeable) var report := service.try_build(placeable, PlacementEnums.PlacementType.SINGLE) service.clear_preview() [/codeblock] Hosted by [GridPlacementHost] via [PlacementServiceGroup].

Source: addons/grid_placement/services/object_placement_service.gd

Syntax

class ObjectPlacementService extends RefCounted

Members

NameKindSummary
SERVICE_NAMEFieldSSOT for this service's gameplay-facing issue messages. Both the service and its tests reference these constants so the player-facing text and the service tag never drift apart.
MSG_OVERLAPS_COMMITTEDField
MSG_INDICATOR_MANAGER_MISSINGField
SIM_MIN_VALIDATIONSFieldOrdered-sim work budgets (see [method simulate_ordered_cells]). A run validates at most SIM_MAX_VALIDATIONS seats and iterates at most maxi(SIM_MIN_SCANNED, validations SIM_SCANNED_PER_VALIDATION) cells, where validations = mini(SIM_MAX_VALIDATIONS, maxi(SIM_MIN_VALIDATIONS, cap SIM_VALIDATIONS_PER_PLACEMENT)) and cap is the placement cap (or the default drag budget when uncapped). The floor covers dense legit gestures with margin (a 60x60 smithy drag needs ~276 validations for 7 accepts); the ceiling bounds hostile fields. Deterministic counts, so preview and commit truncate identically.
SIM_VALIDATIONS_PER_PLACEMENTField
SIM_MAX_VALIDATIONSField
SIM_MIN_SCANNEDField
SIM_SCANNED_PER_VALIDATIONField
set_preview_diagnostic_sinkMethod
configureMethod
set_world_registryMethod
set_statesMethod
disposeMethod
get_runtime_issuesMethod
create_previewMethod
get_previewMethod
set_invalid_marks_suppressedMethod
get_last_reportMethod
clear_previewMethod
try_buildMethod
managerProperty
missing_reportProperty
active_previewProperty
missing_preview_reportProperty
seat_mapProperty
missing_map_reportProperty
missing_tileset_reportProperty
preview_localProperty
anchor_modeProperty
entry_ignoreProperty
profile_ignoreProperty
footprintProperty
authority_reportProperty
ctxProperty
simulate_ordered_cellsMethod
accepted_cellsProperty
accepted_rectsProperty
anchor_modeProperty
footprintProperty
previewProperty
managerProperty
can_validateProperty
saved_localProperty
entry_ignoreProperty
profile_ignoreProperty
live_rotationProperty
anchor_offsetProperty
setup_doneProperty
cappedProperty
effective_capProperty
validation_budgetProperty
scan_budgetProperty
scannedProperty
validatedProperty
cellProperty
seated_posProperty
rectProperty
seat_beforeProperty
effective_drag_capMethod
budgetProperty
footprintProperty
tilesProperty
managerProperty
targeting_stateProperty
category_rulesProperty
lifecycleProperty
unregister_placed_nodeMethod
update_placed_nodeMethod
action_dataProperty