Class PlacementEventBus
- Namespace
- MoonBark.GridPlacement.Core.Events
- Assembly
- MoonBark.GridPlacement.Core.dll
Pure C# event bus for placement operations. Engine-agnostic implementation with no Godot or Unity dependencies.
Usage Recommendation: This Core event bus is designed for:
- Headless servers: Use directly for placement event handling without engine runtime
- Core systems: ECS systems and services publish events through this bus
- Unit tests: Subscribe to events in xUnit/NUnit tests without engine dependencies
- Dedicated servers: Run placement logic on server without rendering
Do NOT use in engine-dependent code: For Godot or Unity clients, use the engine-specific
signal bus adapters (PlacementSignalBus in Godot) that bridge these Core events to engine signals.
This keeps engine-specific code isolated in the adapter layer.
Architecture Boundary: Core ECS systems → PlacementEventBus → Engine adapter bridges → Engine signals (Godot signals, UnityEvents, etc.)
public class PlacementEventBus : EventBus
- Inheritance
-
PlacementEventBus
- Inherited Members
Methods
Publish(IndicatorEvaluationCompletedEvent)
Publishes an indicator evaluation completed event. Triggers C# event subscribers.
public void Publish(IndicatorEvaluationCompletedEvent @event)
Parameters
Publish(PlaceableSelectedEvent)
Publishes a placeable selected event. Triggers C# event subscribers.
public void Publish(PlaceableSelectedEvent @event)
Parameters
eventPlaceableSelectedEvent
Publish(PlacementCancelledEvent)
Publishes a placement cancelled event. Triggers C# event subscribers.
public void Publish(PlacementCancelledEvent @event)
Parameters
eventPlacementCancelledEvent
Publish(PlacementFailedEvent)
Publishes a placement failed event. Triggers C# event subscribers.
public void Publish(PlacementFailedEvent @event)
Parameters
eventPlacementFailedEvent
Publish(PlacementPreviewUpdatedEvent)
Publishes a placement preview updated event.
public void Publish(PlacementPreviewUpdatedEvent @event)
Parameters
Publish(PlacementSuccessEvent)
Publishes a placement success event. Triggers C# event subscribers.
public void Publish(PlacementSuccessEvent @event)
Parameters
eventPlacementSuccessEvent
Publish(PlacementValidatedEvent)
Publishes a placement validated event. Triggers C# event subscribers.
public void Publish(PlacementValidatedEvent @event)
Parameters
eventPlacementValidatedEvent
Publish(ValidationCompletedEvent)
Publishes a validation completed event. Triggers C# event subscribers.
public void Publish(ValidationCompletedEvent @event)
Parameters
eventValidationCompletedEvent
Publish(ValidationRequestEvent)
Publishes a validation request event. Triggers C# event subscribers.
public void Publish(ValidationRequestEvent @event)
Parameters
eventValidationRequestEvent
Events
OnIndicatorEvaluationCompleted
public event Action<IndicatorEvaluationCompletedEvent>? OnIndicatorEvaluationCompleted
Event Type
OnPlaceableSelected
public event Action<PlaceableSelectedEvent>? OnPlaceableSelected
Event Type
OnPlacementCancelled
public event Action<PlacementCancelledEvent>? OnPlacementCancelled
Event Type
OnPlacementFailed
public event Action<PlacementFailedEvent>? OnPlacementFailed
Event Type
OnPlacementPreviewUpdated
public event Action<PlacementPreviewUpdatedEvent>? OnPlacementPreviewUpdated
Event Type
OnPlacementSuccess
public event Action<PlacementSuccessEvent>? OnPlacementSuccess
Event Type
OnPlacementValidated
public event Action<PlacementValidatedEvent>? OnPlacementValidated
Event Type
OnValidationCompleted
public event Action<ValidationCompletedEvent>? OnValidationCompleted
Event Type
OnValidationRequested
public event Action<ValidationRequestEvent>? OnValidationRequested