Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 64 additions & 56 deletions RaceOverlay/Overlays/Standings/Standings.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -111,74 +111,77 @@ public override void _updateWindow()

for (int i = playerPosition - 2 + offset; i < playerPosition + 2 + offset; i++)
{
Body.RowDefinitions.Add(new RowDefinition());
DriverModel driver = _getDriverOnClassPosition(i, playerCarClass);
string interval;

if (driver == null)
try
{

continue;
}

if(i > 1)
{
interval = TimeSpan.FromMilliseconds(
_data.GetGapBetweenMs(
_getDriverOnClassPosition(i - 1, playerCarClass).Idx,
driver.Idx)).ToString(@"ss\.f");
}
else
{
interval = "Leader";
}



Body.RowDefinitions.Add(new RowDefinition());
DriverModel driver = _getDriverOnClassPosition(i, playerCarClass);
string interval;

if (driver.Idx == _playerCarIdx)
{
StandingsRow playerRow = new StandingsRow(
driver.Name,
driver.CarNumber,
driver.ClassPosition,
MainWindow.IrsdkSharper.Data.GetFloat("CarIdxLastLapTime", driver.Idx),
MainWindow.IrsdkSharper.Data.GetFloat("CarIdxBestLapTime", driver.Idx),
driver.iRating,
driver.ClassColorCode,
_data.GetGapToClassLeaderMS(_getDriverOnClassPosition(1, playerCarClass).Idx, driver.Idx),
interval,
driver.License);
if (driver == null || driver.ClassPosition == 0)
{

continue;
}

if (i > 1)
{
interval = TimeSpan.FromMilliseconds(
_data.GetGapBetweenMs(
_getDriverOnClassPosition(i - 1, playerCarClass).Idx,
driver.Idx)).ToString(@"ss\.f");
}
else
{
interval = "Leader";
}

playerRow.SetToPlayerRow();
Grid.SetRow(playerRow, row);
Body.Children.Add(playerRow);
if (driver.Idx == _playerCarIdx)
{
StandingsRow playerRow = new StandingsRow(
driver.Name,
driver.CarNumber,
driver.ClassPosition,
MainWindow.IrsdkSharper.Data.GetFloat("CarIdxLastLapTime", driver.Idx),
MainWindow.IrsdkSharper.Data.GetFloat("CarIdxBestLapTime", driver.Idx),
driver.iRating,
driver.ClassColorCode,
_data.GetGapToClassLeaderMS(_getDriverOnClassPosition(1, playerCarClass).Idx, driver.Idx),
interval,
driver.License);

playerRow.SetToPlayerRow();
Grid.SetRow(playerRow, row);
Body.Children.Add(playerRow);
}
else
{
StandingsRow driverRow = new StandingsRow(
driver.Name,
driver.CarNumber,
driver.ClassPosition,
MainWindow.IrsdkSharper.Data.GetFloat("CarIdxLastLapTime", driver.Idx),
MainWindow.IrsdkSharper.Data.GetFloat("CarIdxBestLapTime", driver.Idx),
driver.iRating,
driver.ClassColorCode,
_data.GetGapToClassLeaderMS(_getDriverOnClassPosition(1, playerCarClass).Idx, driver.Idx),
interval,
driver.License);

Grid.SetRow(driverRow, row);
Body.Children.Add(driverRow);
}
}
else
catch (Exception e)
{
StandingsRow driverRow = new StandingsRow(
driver.Name,
driver.CarNumber,
driver.ClassPosition,
MainWindow.IrsdkSharper.Data.GetFloat("CarIdxLastLapTime", driver.Idx),
MainWindow.IrsdkSharper.Data.GetFloat("CarIdxBestLapTime", driver.Idx),
driver.iRating,
driver.ClassColorCode,
_data.GetGapToClassLeaderMS(_getDriverOnClassPosition(1, playerCarClass).Idx, driver.Idx),
interval,
driver.License);

Grid.SetRow(driverRow, row);
Body.Children.Add(driverRow);
Debug.WriteLine(e);
}

row++;
}

}
catch (Exception e)
{
Console.WriteLine(e);
Debug.WriteLine(e);
}

}
Expand Down Expand Up @@ -238,6 +241,11 @@ private int getDriverOffset(int position, int driverCount)
return -2;
}

if (position == 0)
{
return -3;
}

if (position == driverCount - 1)
{
return -1;
Expand Down
Loading