# RaceManager

RaceManager is a singleton, so you can access it's properties with RaceManager.Instance

| Method           | Description                                                                                                                                                                                            |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| GetLeaderboard() | Returns a sorted (ordered by the progress counting the number of laps finished) List of type "[RacerProgress](https://distubredone322.gitbook.io/custom-vehicle-controller/guides/api/racerprogress)". |
| BeginCountdown() | If the "RaceStartCondition" is set to "After External Call", starts the countdown.                                                                                                                     |
| ResetRaceData()  | Resets the race data.                                                                                                                                                                                  |

| Property                            | Description                                                                                                                                 |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| StartCountdownTimeLeft \| float     | The amount of seconds left before a race will start.                                                                                        |
| StartCountdownTime \| float         | The amount of seconds that must pass before a race will start.                                                                              |
| WaitForOtherRacersTimeLeft \| float | The amount of seconds left after the podium places have been taken before a race will end.                                                  |
| WaitForOtherRacersTime              | The amount of seconds that must pass after the podium places have been taken before a race will end.                                        |
| FinishedRacersAmount                | The amount of racers that have finished the race.                                                                                           |
| LapCount                            | The amount of laps of this race                                                                                                             |
| RaceStartCondition                  | Possible values: InStartMethod, AfterExternalCall. If "AfterExternalCall" is selected, you need to call the "BeginCountdown" method         |
| RaceEndNormilizedTime               | The percent of the spline the racer must follow to finish the lap / the race (if there is only 1 lap)                                       |
| PodiumPlaces                        | The amount of places that must be taken after which the race will start the WaitForOtherRacersTime countdown, after which the race will end |
| Instance                            | Singleton instance of the RaceManager.                                                                                                      |
