PlacementWorkflowOrchestrator
High-level coordinator for validation, indicator setup, and execution of placement operations.
Project: GridPlacement v6.0
Layer: Godot
Source: plugins/gameplay/GridPlacement/cs/Godot/Core/Systems/Placement/Placement.cs/PlacementWorkflowOrchestrator.cs
Namespace: GridPlacement.Core.Systems.Placement
Kind: class
Parsing Method: AST-based (Roslyn) - NOT regex
⚠️ IMPORTANT: This documentation was generated using AST parsing, not regex.
Properties
SelectedPlaceable
PlacementCommands
Commands used to execute placement actions (may be null if not configured).
Session
Session used for user-aware placement (may be null if not configured).
HasUserSessionSupport
True if the orchestrator was constructed with user/session-aware placement support.
TargetingState
Current targeting state used for placement preview/validation.
BuildingState
Current building state used for placement validation.
PlacementContext
Current placement context used for validation rules.
IsReady
True if all required runtime state has been provided and is ready.
Methods
SetTargetingState
Sets the targeting state dependency.
Returns: void
Parameters:
ITargetingStateReadiness targetingState
SetBuildingState
Sets the building state dependency.
Returns: void
Parameters:
IBuildingStateReadiness buildingState
SetPlacementContext
Sets the placement context dependency.
Returns: void
Parameters:
IPlacementContext context
SelectPlaceable
Returns: void
Parameters:
Placeable? placeable
ValidatePlacement
Validates a placement for a strongly-typed
Returns: PlacementReport
Parameters:
Placeable placeableCoreVector2I position
ValidatePlacement
Validates a placement for a potentially loosely-typed placeable.
Returns: PlacementReport
Parameters:
object? placeableCoreVector2I position
TryPlaceValidatedForUser
Scenario-friendly front door: validates placement rules, and only if valid executes placement via user/session-aware commands. Always emits an execution event so adapters (e.g. Godot) can react in both success and failure paths.
Returns: PlacementReport
Parameters:
GPUserId userIdPlaceable placeableCoreVector2I gridPositionCoreVector2 worldPosition
TryPlaceForUser
Attempts to place a
Returns: PlacementResult
Parameters:
GPUserId userIdPlaceable placeableCoreVector2 worldPosition
TryDemolishForUser
Attempts to demolish at a position for a specific user via session-aware commands.
Returns: PlacementResult
Parameters:
GPUserId userIdCoreVector2 worldPosition
SetupIndicators
Sets up indicator preview data for a given placeable at a grid position.
Returns: IndicatorSetupReport
Parameters:
object? placeableCoreVector2I position
GetRuntimeIssues
Gets runtime configuration / dependency issues that prevent placement operations.
Returns: List<string>
GetRuntimeValidation
Gets a validation result representing runtime configuration / dependency readiness.
Returns: ValidationResult