CollisionProcessor

CollisionProcessor

Pure C# Collision Processor for calculating tile offsets from collision geometry. Processes collision scenarios to determine which tiles are affected by collision shapes. Converts collision geometry to relative tile offsets for positioning. This is the Core implementation that can be unit tested without Godot dependencies. Implements unified resolver interface for consistency across the plugin architecture.

Project: GridPlacement v6.0
Layer: Core
Source: Core/_incomplete/Systems/Geometry/CollisionProcessor.cs
Namespace: GridBuilding.Core.Geometry
Kind: class

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

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

Properties

Name

Gets the name of this resolver

Priority

Gets the priority of this resolver (higher = more priority)

IsEnabled

Gets whether this resolver is enabled

Methods

Resolve

Resolves collision input to collision output using the unified resolver interface

Returns: CollisionProcessorOutput

Parameters:

  • CollisionProcessorInput input

CanResolve

Checks if this resolver can handle the input

Returns: bool

Parameters:

  • CollisionProcessorInput input

ProcessCollisions

Processes collision scenarios to get tile offsets

Returns: Dictionary<CoreVector2I, List<CoreVector2I>>

Parameters:

  • CollisionScenarioData scenarioData
  • TileMapData mapData
  • CoreVector2I centerTile

CreateDefault

Creates a default collision processor

Returns: CollisionProcessor

CreateWithCache

Creates a collision processor with caching

Returns: CollisionProcessor

Parameters:

  • IGeometryCache cache

Process

Processes collision scenarios to determine affected tiles.

Returns: CollisionProcessorOutput

Parameters:

  • CollisionProcessorInput input

ValidateConfiguration

Validates collision processor configuration.

Returns: bool

ResolveAsync

Asynchronously resolves the input to an output

Returns: System.Threading.Tasks.Task<CollisionProcessorOutput>

Parameters:

  • CollisionProcessorInput input
  • System.Threading.CancellationToken cancellationToken