void SwitchToMode(string mode) { if (!IsValidMode(mode)) { return; } switch (mode) { case "flight": gyroController.SetEnabled(true); thrustController.SetEnabled(true); gyroController.SetOverride(true); break; case "landing": gyroController.SetEnabled(true); thrustController.SetEnabled(true); gyroController.SetOverride(true); controller.DampenersOverride = true; break; case "manual": gyroController.SetEnabled(true); thrustController.SetEnabled(true); gyroController.SetOverride(true); break; case "shutdown": gyroController.SetEnabled(false); thrustController.SetEnabled(false); break; case "standby": gyroController.SetEnabled(true); thrustController.SetEnabled(true); gyroController.SetOverride(false); thrustController.SetYAxisThrust(0); break; } this.mode = mode; enablePrecisionAim = false; enableLateralOverride = false; }