Class TileCheckRuleExecutor
- Namespace
- MoonBark.GridPlacement.Godot.Placement.PlacementRules
- Assembly
- MoonBark.GridPlacement.Godot.dll
Executes tile check rules for placement validation. Coordinates bulk physics queries against registered rules.
public class TileCheckRuleExecutor
- Inheritance
-
TileCheckRuleExecutor
- Inherited Members
Constructors
TileCheckRuleExecutor(PlacementContext)
Creates a new TileCheckRuleExecutor.
public TileCheckRuleExecutor(PlacementContext context)
Parameters
contextPlacementContextThe placement context. Must not be null.
Properties
Context
The placement context providing access to ECS systems.
public PlacementContext Context { get; }
Property Value
Methods
ClearRules()
Clears all registered tile check rules.
public void ClearRules()
ProcessBulkTileChecks(EntityStore, Node2D)
Processes bulk tile checks for all entities in the given EntityStore. Used by the placement system to validate multiple positions in a single pass.
public Task ProcessBulkTileChecks(EntityStore store, Node2D worldRoot)
Parameters
storeEntityStoreThe ECS entity store containing placement entities.
worldRootNode2DThe root node for world queries (provides PhysicsDirectSpaceState2D).
Returns
- Task
Task that completes when all checks are processed.
RegisterRule(TileCheckRule)
Registers a tile check rule for placement validation.
public void RegisterRule(TileCheckRule rule)
Parameters
ruleTileCheckRuleThe rule to register.
UnregisterRule(TileCheckRule)
Unregisters a tile check rule.
public void UnregisterRule(TileCheckRule rule)
Parameters
ruleTileCheckRuleThe rule to unregister.
ValidatePosition(Vector2, PhysicsDirectSpaceState2D)
Checks a single world position against all registered tile check rules.
public bool ValidatePosition(Vector2 worldPosition, PhysicsDirectSpaceState2D spaceState)
Parameters
worldPositionVector2The world position to check.
spaceStatePhysicsDirectSpaceState2DThe physics direct space state to query against.
Returns
- bool
True if all rules pass; false if any rule fails.