private void HandleDriveModeChange(bool computerDriver, ComputerDriverType cdt) { if (computerDriver) { // first set the new computer drive mode mComputerDriverManager.SelectType(cdt); if (mRaceState == StateHelper.RaceState.Manual) { // switch to computer driver as we are in manual mode now StartComputerDriver(); } else { // nothing to do, computer only change driving mode } } else { if (mRaceState == StateHelper.RaceState.ComputerDriver) { // stop computer driver StopComputerDriver(); } } }
public void SelectType(ComputerDriverType compDriverType) { if (compDriverType == ComputerDriverType.Careful) { mComputerDriver = new ComputerDriverCareful(); } else if (compDriverType == ComputerDriverType.Risky) { mComputerDriver = new ComputerDriverRisky(); } else if (compDriverType == ComputerDriverType.None) { // this should never happen... } else { mComputerDriver = new ComputerDriverTop(); } }