Class ManipulationEventBus
- Namespace
- MoonBark.GridPlacement.Core.Events
- Assembly
- MoonBark.GridPlacement.Core.dll
Pure C# event bus for manipulation operations. Engine-agnostic implementation with no Godot or Unity dependencies.
Usage Recommendation: This Core event bus is designed for:
- Headless servers: Use directly for manipulation event handling without engine runtime
- Core systems: ECS manipulation systems publish events through this bus
- Unit tests: Subscribe to events in xUnit/NUnit tests without engine dependencies
- Dedicated servers: Run manipulation logic (move, rotate, flip, demolish) on server
Do NOT use in engine-dependent code: For Godot or Unity clients, use the engine-specific
signal bus adapters (ManipulationSignalBus 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 → ManipulationEventBus → Engine adapter bridges → Engine signals (Godot signals, UnityEvents, etc.)
public class ManipulationEventBus : EventBus
- Inheritance
-
ManipulationEventBus
- Inherited Members
Methods
Publish(ManipulationCancelledEvent)
Publishes a manipulation cancelled event. Triggers C# event subscribers.
public void Publish(ManipulationCancelledEvent @event)
Parameters
Publish(ManipulationFailedEvent)
Publishes a manipulation failed event. Triggers C# event subscribers.
public void Publish(ManipulationFailedEvent @event)
Parameters
eventManipulationFailedEvent
Publish(ManipulationStartedEvent)
Publishes a manipulation started event. Triggers C# event subscribers.
public void Publish(ManipulationStartedEvent @event)
Parameters
eventManipulationStartedEvent
Publish(ManipulationSuccessEvent)
Publishes a manipulation success event. Triggers C# event subscribers.
public void Publish(ManipulationSuccessEvent @event)
Parameters
eventManipulationSuccessEvent
Publish(ManipulationUpdatedEvent)
Publishes a manipulation updated event. Triggers C# event subscribers.
public void Publish(ManipulationUpdatedEvent @event)
Parameters
eventManipulationUpdatedEvent
Events
OnManipulationCancelled
public event Action<ManipulationCancelledEvent>? OnManipulationCancelled
Event Type
OnManipulationFailed
public event Action<ManipulationFailedEvent>? OnManipulationFailed
Event Type
OnManipulationStarted
public event Action<ManipulationStartedEvent>? OnManipulationStarted
Event Type
OnManipulationSuccess
public event Action<ManipulationSuccessEvent>? OnManipulationSuccess
Event Type
OnManipulationUpdated
public event Action<ManipulationUpdatedEvent>? OnManipulationUpdated