private Message TranslateSetLapTimeColour(SetGridColumnColourMessage message)
{
var driver = GetDriver(message);
if(driver.IsOnTrack && driver.LastLapTime != null)
{
switch(message.Colour)
{
case GridColumnColour.White:
return new SetDriverLapTimeMessage(driver.Id,
new PostedTime(driver.LastLapTime.Time,
LiveData.ToPostedTimeType(message.Colour), driver.LapNumber));
case GridColumnColour.Green:
case GridColumnColour.Magenta:
// The feed often sends a colour update for the previous lap time to indicate
// that it was a PB or SB, in which case we publish a replacement time.
return new ReplaceDriverLapTimeMessage(driver.Id,
new PostedTime(driver.LastLapTime.Time,
LiveData.ToPostedTimeType(message.Colour), driver.LastLapTime.LapNumber));
}
}
return null;
}