Table of Contents

Interface IEventBusManagedSubscriber

Namespace
RisingV.Shared.Events
Assembly
RisingV.Shared.dll

Interface for an event bus that manages subscriptions.

public interface IEventBusManagedSubscriber
Extension Methods

Methods

Subscribe<TEvent>(object, EventHandler<TEvent>, int)

Subscribe a handler and receive an IDisposable that will unsubscribe when disposed.

IDisposable Subscribe<TEvent>(object owner, EventHandler<TEvent> handler, int handlerHash = 0) where TEvent : IEvent

Parameters

owner object
handler EventHandler<TEvent>
handlerHash int

Returns

IDisposable

Type Parameters

TEvent

Subscribe<TEvent>(object, IEventListener<TEvent>)

Subscribe a handler and receive an IDisposable that will unsubscribe when disposed.

IDisposable Subscribe<TEvent>(object owner, IEventListener<TEvent> handler) where TEvent : IEvent

Parameters

owner object
handler IEventListener<TEvent>

Returns

IDisposable

Type Parameters

TEvent

Subscribe<TEvent>(object, Action<TEvent>)

Subscribe a handler and receive an IDisposable that will unsubscribe when disposed.

IDisposable Subscribe<TEvent>(object owner, Action<TEvent> handler) where TEvent : IEvent

Parameters

owner object
handler Action<TEvent>

Returns

IDisposable

Type Parameters

TEvent

Subscribe<TEvent>(object, Func<TEvent, ValueTask>)

Convenience wrapper for synchronous handlers that return void.

IDisposable Subscribe<TEvent>(object owner, Func<TEvent, ValueTask> handler) where TEvent : IEvent

Parameters

owner object
handler Func<TEvent, ValueTask>

Returns

IDisposable

Type Parameters

TEvent

Unsubscribe(object)

Unsubscribe all handlers for the given owner.

void Unsubscribe(object owner)

Parameters

owner object

Unsubscribe<TEvent>(object, EventHandler<TEvent>)

Unsubscribe a handler.

void Unsubscribe<TEvent>(object owner, EventHandler<TEvent> handler) where TEvent : IEvent

Parameters

owner object
handler EventHandler<TEvent>

Type Parameters

TEvent

Unsubscribe<TEvent>(object, IEventListener<TEvent>)

Unsubscribe a handler.

void Unsubscribe<TEvent>(object owner, IEventListener<TEvent> handler) where TEvent : IEvent

Parameters

owner object
handler IEventListener<TEvent>

Type Parameters

TEvent

Unsubscribe<TEvent>(object, Action<TEvent>)

Unsubscribe a handler.

void Unsubscribe<TEvent>(object owner, Action<TEvent> handler) where TEvent : IEvent

Parameters

owner object
handler Action<TEvent>

Type Parameters

TEvent