예제 #1
0
        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();
     }
 }