PlacementWorkflowOrchestrator

High-level coordinator for validation, indicator setup, and execution of placement operations.

Project: GridPlacement v6.0
Layer: Core
Source: plugins/gameplay/GridPlacement/cs/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 placeable
  • CoreVector2I position

ValidatePlacement

Validates a placement for a potentially loosely-typed placeable.

Returns: PlacementReport

Parameters:

  • object? placeable
  • CoreVector2I 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 userId
  • Placeable placeable
  • CoreVector2I gridPosition
  • CoreVector2 worldPosition

TryPlaceForUser

Attempts to place a for a specific user via session-aware commands.

Returns: PlacementResult

Parameters:

  • GPUserId userId
  • Placeable placeable
  • CoreVector2 worldPosition

TryDemolishForUser

Attempts to demolish at a position for a specific user via session-aware commands.

Returns: PlacementResult

Parameters:

  • GPUserId userId
  • CoreVector2 worldPosition

SetupIndicators

Sets up indicator preview data for a given placeable at a grid position.

Returns: IndicatorSetupReport

Parameters:

  • object? placeable
  • CoreVector2I 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