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