PlacementWorkflowOrchestrator

PlacementWorkflowOrchestrator

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

Project: GridPlacement v6.0
Layer: Core
Source: Core/Systems/Placement/Placement.cs/PlacementWorkflowOrchestrator.cs
Namespace: GridBuilding.Core.Systems.Placement
Kind: class

Parsing Method: AST-based (Roslyn) - NOT regex

⚠️ IMPORTANT: This documentation was generated using AST parsing, not regex.

Properties

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:

  • TargetingState targetingState

SetBuildingState

Sets the building state dependency.

Returns: void

Parameters:

  • IBuildingState buildingState

SetPlacementContext

Sets the placement context dependency.

Returns: void

Parameters:

  • IPlacementContext context

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

ExecutePlacement

Executes placement using legacy execution behavior.

Returns: PlacementReport

Parameters:

  • object? placeable
  • CoreVector2I position

TryPlaceForUser

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

Returns: PlacementResult

Parameters:

  • UserId userId
  • Placeable placeable
  • CoreVector2 worldPosition

TryDemolishForUser

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

Returns: PlacementResult

Parameters:

  • UserId 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: GBValidationResult