public double GetValue(Func <TimedTelemetrySnapshot, double> valueExtractFunction, TimedTelemetrySnapshot telemetrySnapshot, XAxisKind xAxisKind) { return(valueExtractFunction(telemetrySnapshot)); }
public double GetValue(Func<TimedTelemetrySnapshot, double> valueExtractFunction, TimedTelemetrySnapshot telemetrySnapshot, XAxisKind xAxisKind) { if (_referenceLap == null) { return valueExtractFunction(telemetrySnapshot); } double toCompareValue = xAxisKind == XAxisKind.LapDistance ? _referenceLap.GetValueByDistance(Distance.FromMeters(telemetrySnapshot.PlayerData.LapDistance), valueExtractFunction) : _referenceLap.GetValueByTime(telemetrySnapshot.LapTime, valueExtractFunction); return valueExtractFunction(telemetrySnapshot) - toCompareValue; }