private Message TranslateSetIntervalTimeValue(SetGridColumnValueMessage message)
{
if(GetDriver(message).IsRaceLeader)
{
// The interval column for the lead driver displays the current lap number.
return new CompositeMessage(
new SetRaceLapNumberMessage(LiveData.ParseInt32(message.Value)),
new SetDriverIntervalMessage(message.DriverId, TimeGap.Zero));
}
if(message.Value.OrdinalEndsWith("L"))
{
// An L suffix indicates a lap interval, e.g. 1L
return new SetDriverIntervalMessage(message.DriverId,
new LapGap(LiveData.ParseInt32(message.Value.Substring(0, message.Value.Length - 1))));
}
return new SetDriverIntervalMessage(message.DriverId, new TimeGap(LiveData.ParseTime(message.Value)));
}