Код:
public void InitRace()
{
// заполняем список ворот всеми воротами по порядку их прохождения
gatesList.Add(new Gate("StartGate", "GateStart", false, GateType.startGate, AfterGateAction.none, 246737, 233546, 0));
gatesList.Add(new Gate("Gate1Red", "Shikana1", false, GateType.shicaneGate, AfterGateAction.none, 246865, 233831, 0));
gatesList.Add(new Gate("Gate2Red", "Shikana2", false, GateType.shicaneGate, AfterGateAction.none, 246788, 233955, 0));
gatesList.Add(new Gate("Gate3Red", "Shikana3", false, GateType.shicaneGate, AfterGateAction.none, 246918, 234008, 0));
gatesList.Add(new Gate("Gate4Red", "GateV1", false, GateType.knifeGate, AfterGateAction.none, 246657, 234320, 90));
gatesList.Add(new Gate("Gate5Red", "GateV1", false, GateType.knifeGate, AfterGateAction.none, 246657, 234320, -90));
gatesList.Add(new Gate("Gate6Blue", "GateH1", false, GateType.levelGate, AfterGateAction.none, 246983, 234391, 0));
gatesList.Add(new Gate("Gate7Blue", "GateH2", false, GateType.levelGate, AfterGateAction.loop, 247421, 234340, 0));
gatesList.Add(new Gate("Gate8Blue", "GateH2", false, GateType.levelGate, AfterGateAction.none, 247421, 234340, 0));
gatesList.Add(new Gate("Gate9Blue", "GateH1", false, GateType.levelGate, AfterGateAction.none, 246983, 234391, 0));
gatesList.Add(new Gate("Gate10Red", "GateV1", false, GateType.knifeGate, AfterGateAction.none, 246657, 234320, 90));
gatesList.Add(new Gate("Gate11Red", "GateV1", false, GateType.knifeGate, AfterGateAction.none, 246657, 234320, 90));
gatesList.Add(new Gate("Gate12Blue", "GateH3", false, GateType.levelGate, AfterGateAction.barrel, 246528, 233988, 0));
gatesList.Add(new Gate("FinishGate", "GateStart", false, GateType.finishGate, AfterGateAction.none, 246737, 233546, 0));
if (GamePlay.gpPlayer().Place() is AiAircraft)
playerPlane = GamePlay.gpPlayer().Place() as AiAircraft; // назначаем переменной playerPlane самолёт игрока
// заполняем переменные начальными значениями
startTime = 0;
finishTime = 0;
avgSpeed = 0;
maxSpeed = 0;
maxOverstress = 0;
raceStart = false;
startCheckLoop = false;
CheckLoopPass = false;
CheckLoopV = false;
CheckLoopHB = false;
startCheckBarrel = false;
checkB0 = false; checkB90 = false; checkB180 = false; checkB_90 = false;
CheckBarrelPass = false;
nextGate = 0;
checkGatePass = false;
smokeOn = false;
distSQ = 100000.0;
prevRoll = 0.0;
prevH = 0.0;
pilonsHit = 0;
penaltyTotal = 0.0;
}