protected override void Replay(RaceEvent raceEvent) { if (raceEvent is IdEvent id) { OnRiderId?.Invoke(this, new RiderIdEventArgs(id.Rider, id.Time, id.UnitId, id.IdType)); } else { throw new ArgumentException($"Cannot replay non IdEvent: {raceEvent.GetType()}"); } }
public void EmitIdEvent(Rider rider, DateTime received) => OnRiderId.Invoke(this, new RiderIdEventArgs(rider, received, UnitId, Direction.Enter));