在SvrPlugin的脚本中通过一个枚举类型eEventType来定义当前SDK的运行状态:
public enum eEventType
{
kEventNone = 0,
kEventSdkServiceStarting = 1,
kEventSdkServiceStarted = 2,
kEventSdkServiceStopped = 3,
kEventControllerConnecting = 4,
kEventControllerConnected = 5,
kEventControllerDisconnected = 6,
kEventThermal = 7,
kEventSensorError
};
包括 kEventSdkServiceStarting 类型表示的是当前SDK服务正在启动中。
kEventSdkServiceStarted表示当前SDK服务启动完成。
kEventSdkServiceStopped表示当前SDK服务已经停止。
kEventControllerConnecting表示当前手柄处于连接中状态。
kEventControllerConnected表示当前手柄处于已连接状态。
kEventControllerDisconnected表示当前手柄处于失去连接的状态在之前的文章中介绍了SvrPlugin脚本中开启VR模式的方法BeginVR:
public virtual IEnumerator BeginVr(int cpuPerfLevel =0, int gpuPerfLevel =0)
{
if (eyes == null)
{
eyes = SvrEye.Instances.ToArray();
if (eyes == null)
{
Debug.Log("Components with SvrEye not found!");
}
Array.Sort(eyes);
}
if (overlays == null)
{
overlays = SvrOverlay.Instances.ToArray();
if (overlays == null)
{
Debug.Log("Components with SvrOverlay not found!");
}
Array.Sort(overlays);
}
yield break;
}
与之对应的还有关闭VR模式的方法为EndVR:
public virtual void EndVr()
{
eyes = null;
overlays = null;
}
该方法只是将eyes和overlays数组清空。