public void DoALap(bool pitstop = false) { int code = race.DoALap(pitstop); int difference = race.GetMainPlayerPosition() - lastPosition; if (difference != 0) { lastPosition = race.GetMainPlayerPosition(); code = 2; } //Update Actions switch (code) { case 2: { actions.OvertakingAction(difference); break; } case 1: { actions.NormalAction(); break; } case -1: { Debug.Log("Final Position: " + race.GetMainPlayerPosition()); actions.FinalAction(race.GetMainPlayerPosition()); break; } case -100: { actions.MotorFailure(); break; } case -200: { actions.GearboxFailure(); break; } case -300: { actions.SuspensionFailure(); break; } case -400: { actions.BreaksFailure(); break; } case -500: { actions.TyresFailure(); break; } case -600: { actions.FuelFailure(); break; } default: { break; } } }