private Message TranslateSetGridColumnColourMessage(SetGridColumnColourMessage message)
{
if(message.Colour == GridColumnColour.Yellow || !GetDriver(message).ColumnHasValue(message.Column))
{
// Yellow indicates that the next column is about to / has received an update and this
// column is no longer shows the latest information for the driver. Also, the feed often
// seeds colour updates to columns which have no value.
return null;
}
switch(message.Column)
{
case GridColumn.CarNumber:
return TranslateSetCarNumberColour(message);
case GridColumn.LapTime:
return TranslateSetLapTimeColour(message);
case GridColumn.Gap:
return TranslateSetGapTimeColour(message);
case GridColumn.S1:
return TranslateSetSectorTimeColour(message, 1);
case GridColumn.S2:
return TranslateSetSectorTimeColour(message, 2);
case GridColumn.S3:
return TranslateSetSectorTimeColour(message, 3);
case GridColumn.Interval:
return TranslateSetIntervalTimeColour(message);
default:
return null;
}
}