public override void SetupStatistics() { base.SetupStatistics(); DriverStats = new AverageFinishAbovePositionDataElement[Data.NumberOfDrivers]; TeamStats = new AverageFinishAbovePositionDataElement[Data.NumberOfDrivers / 2]; ComparisonStats = new AverageFinishAbovePositionDataElement[Data.NumberOfDrivers]; }
public override void InitialiseStatistics() { for (int driverIndex = 0; driverIndex < Data.NumberOfDrivers; driverIndex++) { DriverStats[driverIndex] = new AverageFinishAbovePositionDataElement(driverIndex); ComparisonStats[driverIndex] = new AverageFinishAbovePositionDataElement(driverIndex); } for (int teamIndex = 0; teamIndex < Data.NumberOfDrivers / 2; teamIndex++) { TeamStats[teamIndex] = new AverageFinishAbovePositionDataElement(teamIndex); } }
public override float CompareByValue(IStatisticElement element) { AverageFinishAbovePositionDataElement other = (AverageFinishAbovePositionDataElement)element; if (this.AverageFinishAbovePosition == other.AverageFinishAbovePosition) { return(0F); } else if (this.AverageFinishAbovePosition == 0) { return(Data.NumberOfDrivers); } else if (other.AverageFinishAbovePosition == 0) { return(-Data.NumberOfDrivers); } return(this.AverageFinishAbovePosition - other.AverageFinishAbovePosition); }