using NextMind; using NextMind.Devices; using NextMind.Examples.Steps; using UnityEngine; namespace NextMind.Examples.Calibration { /// /// Implementation of an managed by a . /// This step is a StepsManager itself, handling substeps allowing users to pair/connect devices. /// public class DeviceConnectionStep : AbstractStep { /// /// The StepsManager handling all the connection and pairing substeps. /// [SerializeField] private StepsManager subStepsManager; /// /// Is the user currently navigating inside the pairing steps? /// private bool insidePairingSteps; #region AbstractStep implementation public override void OnEnterStep() { // Ensure starting from the first step. subStepsManager.Restart(); } public override bool GoToNextStepAllowed() { return !insidePairingSteps && NeuroManager.Instance.ConnectedDevices.Count > 0; } public override bool GoToPreviousStepAllowed() { return !insidePairingSteps; } #endregion public void OnStartPairingSteps() { insidePairingSteps = true; } public void OnEndPairingSteps() { insidePairingSteps = false; } } }