using System; namespace LanLib.EventManager { public interface ISubscribableEventManager { /// /// Subscribes a listener to an event, identified and parameterized by the struct type T. /// /// The action to be invoked when the event is triggered. /// The struct type that both identifies the event and serves as the parameter for the listener. public void Subscribe(Action listener) where T : struct; /// /// Unsubscribes a listener from an event, identified and parameterized by the struct type T. /// /// The action to be removed from the event's invocation list. /// The struct type that both identifies the event and serves as the parameter for the listener. public void Unsubscribe(Action listener) where T : struct; } }