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