Interface IReorderableEventQueue<TEvent, TPoint, TPointDelta>
Represents a generic event queue that allows to modify registered events.
public interface IReorderableEventQueue<TEvent, TPoint, TPointDelta> : IEventQueue<TEvent, TPoint, TPointDelta>, IReadOnlyReorderableEventQueue<TEvent, TPoint, TPointDelta>, IReadOnlyEventQueue<TEvent, TPoint, TPointDelta>, IReadOnlyCollection<EnqueuedEvent<TEvent, TPoint, TPointDelta>>, IEnumerable<EnqueuedEvent<TEvent, TPoint, TPointDelta>>, IEnumerable
Type Parameters
TEvent
Event type.
TPoint
Queue point type.
TPointDelta
Queue point delta type.
- Inherited Members
Methods
AdvanceDequeuePoint(TEvent, TPointDelta)
Modifies the existing event
by moving the DequeuePoint
backward by the specified delta
.
EnqueuedEvent<TEvent, TPoint, TPointDelta>? AdvanceDequeuePoint(TEvent @event, TPointDelta delta)
Parameters
event
TEventEvent to modify.
delta
TPointDeltaPoint delta to move the current DequeuePoint backward by.
Returns
- EnqueuedEvent<TEvent, TPoint, TPointDelta>?
EnqueuedEvent<TEvent, TPoint, TPointDelta> instance associated with the modified
event
or null when event does not exist.
DecreaseDelta(TEvent, TPointDelta)
Modifies the existing event
by subtracting a value from
Delta.
EnqueuedEvent<TEvent, TPoint, TPointDelta>? DecreaseDelta(TEvent @event, TPointDelta delta)
Parameters
event
TEventEvent to modify.
delta
TPointDeltaPoint delta to subtract.
Returns
- EnqueuedEvent<TEvent, TPoint, TPointDelta>?
EnqueuedEvent<TEvent, TPoint, TPointDelta> instance associated with the modified
event
or null when event does not exist.
DecreaseRepetitions(TEvent, int)
Modifies the existing event
by subtracting Repetitions.
EnqueuedEvent<TEvent, TPoint, TPointDelta>? DecreaseRepetitions(TEvent @event, int count)
Parameters
event
TEventEvent to modify.
count
intNumber of repetitions to subtract.
Returns
- EnqueuedEvent<TEvent, TPoint, TPointDelta>?
EnqueuedEvent<TEvent, TPoint, TPointDelta> instance associated with the modified
event
or null when event does not exist.
Exceptions
- ArgumentOutOfRangeException
When new number of repetitions is less than 1.
DelayDequeuePoint(TEvent, TPointDelta)
Modifies the existing event
by moving the DequeuePoint
forward by the specified delta
.
EnqueuedEvent<TEvent, TPoint, TPointDelta>? DelayDequeuePoint(TEvent @event, TPointDelta delta)
Parameters
event
TEventEvent to modify.
delta
TPointDeltaPoint delta to move the current DequeuePoint forward by.
Returns
- EnqueuedEvent<TEvent, TPoint, TPointDelta>?
EnqueuedEvent<TEvent, TPoint, TPointDelta> instance associated with the modified
event
or null when event does not exist.
IncreaseDelta(TEvent, TPointDelta)
Modifies the existing event
by adding a value to Delta.
EnqueuedEvent<TEvent, TPoint, TPointDelta>? IncreaseDelta(TEvent @event, TPointDelta delta)
Parameters
event
TEventEvent to modify.
delta
TPointDeltaPoint delta to add.
Returns
- EnqueuedEvent<TEvent, TPoint, TPointDelta>?
EnqueuedEvent<TEvent, TPoint, TPointDelta> instance associated with the modified
event
or null when event does not exist.
IncreaseRepetitions(TEvent, int)
Modifies the existing event
by adding Repetitions.
EnqueuedEvent<TEvent, TPoint, TPointDelta>? IncreaseRepetitions(TEvent @event, int count)
Parameters
event
TEventEvent to modify.
count
intNumber of repetitions to add.
Returns
- EnqueuedEvent<TEvent, TPoint, TPointDelta>?
EnqueuedEvent<TEvent, TPoint, TPointDelta> instance associated with the modified
event
or null when event does not exist.
Exceptions
- ArgumentOutOfRangeException
When new number of repetitions is less than 1.
MakeInfinite(TEvent)
Modifies the existing event
by making it repeat infinitely.
EnqueuedEvent<TEvent, TPoint, TPointDelta>? MakeInfinite(TEvent @event)
Parameters
event
TEventEvent to modify.
Returns
- EnqueuedEvent<TEvent, TPoint, TPointDelta>?
EnqueuedEvent<TEvent, TPoint, TPointDelta> instance associated with the modified
event
or null when event does not exist.
Remove(TEvent)
Attempts to remove the specified event
.
EnqueuedEvent<TEvent, TPoint, TPointDelta>? Remove(TEvent @event)
Parameters
event
TEventEvent to remove.
Returns
- EnqueuedEvent<TEvent, TPoint, TPointDelta>?
Removed EnqueuedEvent<TEvent, TPoint, TPointDelta> instance or null when
event
does not exist.
SetDelta(TEvent, TPointDelta)
Modifies the existing event
by changing the Delta.
EnqueuedEvent<TEvent, TPoint, TPointDelta>? SetDelta(TEvent @event, TPointDelta delta)
Parameters
event
TEventEvent to modify.
delta
TPointDeltaPoint delta used for moving DequeuePoint forward on each repetition of this event.
Returns
- EnqueuedEvent<TEvent, TPoint, TPointDelta>?
EnqueuedEvent<TEvent, TPoint, TPointDelta> instance associated with the modified
event
or null when event does not exist.
SetDequeuePoint(TEvent, TPoint)
Modifies the existing event
by changing the DequeuePoint.
EnqueuedEvent<TEvent, TPoint, TPointDelta>? SetDequeuePoint(TEvent @event, TPoint dequeuePoint)
Parameters
event
TEventEvent to modify.
dequeuePoint
TPointNext queue point at which this event should be dequeued.
Returns
- EnqueuedEvent<TEvent, TPoint, TPointDelta>?
EnqueuedEvent<TEvent, TPoint, TPointDelta> instance associated with the modified
event
or null when event does not exist.
SetRepetitions(TEvent, int)
Modifies the existing event
by changing the Repetitions.
EnqueuedEvent<TEvent, TPoint, TPointDelta>? SetRepetitions(TEvent @event, int repetitions)
Parameters
event
TEventEvent to modify.
repetitions
intNumber of repetitions.
Returns
- EnqueuedEvent<TEvent, TPoint, TPointDelta>?
EnqueuedEvent<TEvent, TPoint, TPointDelta> instance associated with the modified
event
or null when event does not exist.
Exceptions
- ArgumentOutOfRangeException
When
repetitions
is less than 1.