Class EventDispatcher
Handles dispatching IEventListener<TEventArgs> and IAsyncEventListener<TEventArgs> objects.
public class EventDispatcher : IHostedService, IDisposable
- Inheritance
-
EventDispatcher
- Implements
- Inherited Members
Constructors
EventDispatcher(ILoggerFactory, ProjectileSolver, IPlayerService, EventSynchronizer, WarfareModule)
public EventDispatcher(ILoggerFactory loggerFactory, ProjectileSolver projectileSolver, IPlayerService playerService, EventSynchronizer eventSynchronizer, WarfareModule module)
Parameters
loggerFactoryILoggerFactoryprojectileSolverProjectileSolverplayerServiceIPlayerServiceeventSynchronizerEventSynchronizermoduleWarfareModule
Methods
DispatchEventAsync<TEventArgs>(TEventArgs, CancellationToken, bool)
Invoke an event with the given arguments.
public UniTask<bool> DispatchEventAsync<TEventArgs>(TEventArgs eventArgs, CancellationToken token = default, bool allowAsync = true) where TEventArgs : class
Parameters
eventArgsTEventArgstokenCancellationTokenallowAsyncbool
Returns
- UniTask<bool>
If the action should continue if
eventArgsis ICancellable, otherwise true.
Type Parameters
TEventArgs
GetLogger(Type, string)
Create a logger for a handler of a specific EventInfo from a declaring type and name.
public ILogger GetLogger(Type declaringType, string eventName)
Parameters
Returns
WaitForEvents()
public UniTask WaitForEvents()
Returns
- UniTask