ManipulationService2D

ManipulationService2D

Core service for manipulation-related business logic and state management. Follows Enhanced Service Registry pattern with dependency injection. Handles object manipulation operations like move, rotate, scale, and complex transformations.

Project: GridPlacement v6.0
Layer: Core
Source: Core/Services/Manipulation/ManipulationService2D.cs
Namespace: GridBuilding.Core.Services.Manipulation
Kind: class

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

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

Methods

StartManipulation

Starts a new manipulation for the given and .

Returns: ManipulationState

Parameters:

  • GridMode mode
  • CoreVector2I origin

UpdateManipulationTarget

Updates the target cell for an active manipulation.

Returns: bool

Parameters:

  • string manipulationId
  • CoreVector2I target

CancelManipulation

Cancels an active manipulation.

Returns: bool

Parameters:

  • string manipulationId

CompleteManipulation

Completes an active manipulation after final validation.

Returns: bool

Parameters:

  • string manipulationId

AddConstraint

Adds a constraint to an existing manipulation.

Returns: bool

Parameters:

  • string manipulationId
  • ManipulationConstraint constraint

RemoveConstraint

Removes a constraint from an existing manipulation.

Returns: bool

Parameters:

  • string manipulationId
  • string constraintId

AddAction

Adds an action definition to an existing manipulation.

Returns: bool

Parameters:

  • string manipulationId
  • ActionDefinition action

RemoveAction

Removes an action definition from an existing manipulation.

Returns: bool

Parameters:

  • string manipulationId
  • string actionId

SetContextData

Sets arbitrary context data on a manipulation state.

Returns: bool

Parameters:

  • string manipulationId
  • string key
  • object value

GetContextData

Gets typed context data from a manipulation state.

Returns: T

Parameters:

  • string manipulationId
  • string key
  • T defaultValue

ApplyPreviewIntent

Returns: bool

Parameters:

  • string manipulationId
  • ManipulationAction action

GetPreviewTransform

Returns: PreviewTransformModel?

Parameters:

  • string manipulationId

GetManipulation

Gets the manipulation state by ID.

Returns: ManipulationState?

Parameters:

  • string manipulationId

GetActiveManipulations

Gets all manipulations that are currently active and not completed.

Returns: IEnumerable<ManipulationState>

GetManipulationsByMode

Gets all manipulations currently in the specified mode.

Returns: IEnumerable<ManipulationState>

Parameters:

  • GridMode mode

IsManipulationActive

Determines whether the specified manipulation is active and not completed.

Returns: bool

Parameters:

  • string manipulationId

CanStartManipulation

Determines whether a new manipulation can be started at the given origin.

Returns: bool

Parameters:

  • GridMode mode
  • CoreVector2I origin

ValidateManipulation

Validates the manipulation state and its constraints/actions.

Returns: bool

Parameters:

  • string manipulationId

ValidateManipulationState

Produces a list of validation errors for the provided manipulation.

Returns: List<string>

Parameters:

  • ManipulationState manipulation

RegisterManipulation

Registers a manipulation in the service’s internal state store.

Returns: void

Parameters:

  • ManipulationState manipulation

UnregisterManipulation

Unregisters a manipulation by ID.

Returns: void

Parameters:

  • string manipulationId

ClearAllManipulations

Clears all registered manipulations.

Returns: void

Dispose

Releases all resources used by the ManipulationService2D.

Returns: void