private bool TryCalibrate(FinchChirality chirality, bool swap)
        {
            FinchController mainController       = chirality == FinchChirality.Left ? FinchController.Left : FinchController.Right;
            FinchController additionalController = chirality == FinchChirality.Left ? FinchController.Right : FinchController.Left;

            bool leftCalibrate       = leftPressDown && FinchController.Left.GetPressTime(FinchControllerElement.HomeButton) > FinchCalibration.Settings.TimePressingToCallCalibration;
            bool rightCalibrate      = rightPressDown && FinchController.Right.GetPressTime(FinchControllerElement.HomeButton) > FinchCalibration.Settings.TimePressingToCallCalibration;
            bool mainCalibrate       = chirality == FinchChirality.Left ? leftCalibrate : rightCalibrate;
            bool additionalCalibrate = chirality == FinchChirality.Left ? rightCalibrate : leftCalibrate;

            if (mainCalibrate || additionalCalibrate && swap)
            {
                if (mainCalibrate)
                {
                    mainController.HapticPulse(FinchCalibration.Settings.HapticTime);
                    mainController.Calibrate();
                }
                else
                {
                    additionalController.HapticPulse(FinchCalibration.Settings.HapticTime);
                    additionalController.Calibrate();
                    FinchCore.SwapNodes(FinchNodeType.LeftHand, FinchNodeType.RightHand);
                    FinchCore.Interop.FinchSwapCalibrations(1, 0);
                }
            }

            return(mainCalibrate || additionalCalibrate && swap);
        }
Exemple #2
0
 private void TryCalibrate()
 {
     if (CalibrationButtonPress())
     {
         if (NodeAngleChecker.IsCorrectAngle)
         {
             FinchController.Left.HapticPulse(FinchCalibration.Settings.HapticTime);
             FinchController.Right.HapticPulse(FinchCalibration.Settings.HapticTime);
             FinchController.Calibrate(FinchChirality.Both);
             NextStep();
         }
         else
         {
             TutorialNotification.SetActive(false);
             WarningNotification.SetActive(true);
         }
     }
 }
 private void FastCalibrate(FinchController controller)
 {
     controller.HapticPulse(Settings.HapticTime);
     controller.Calibrate();
 }