raceFullStateMiddleware function

RaceFullState raceFullStateMiddleware(
  1. RaceFullState raceFullState,
  2. Settings settings,
  3. String? version
)

Implementation

RaceFullState raceFullStateMiddleware(RaceFullState raceFullState, Settings settings, String? version) {
  if (version == null || version != "1.0.0") {
    return raceFullState;
  }
  if (raceFullState.state == RaceFullState_State.IDLE_CLEAR_TO_START && settings.race.startProcedure.hasAutomatedStartProcedureSettings()) {
    var newState = raceFullState.deepCopy();

    for (var lane in newState.laneStates) {
      lane.extraState = LaneExtraState(trainingClassicRaceExtraState: TrainingClassicRaceExtraState(
        autostartPending: true,
        timeIsCalculated: false,
      ));
    }
    return newState;
  }
  return raceFullState;

}