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); }
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(); }