예제 #1
0
        internal void Initlize(System.Action <string> onResult)
        {
            xRNodeStates.Clear();

            //TODO: 实现驱动加载和初始化
            InputDevices.GetInstance().StartCoroutine(InitEvnAsync((error) => {
                valid = string.IsNullOrEmpty(error);
                onResult?.Invoke(error);
            }));
        }
예제 #2
0
    protected override IEnumerator InitEvnAsync(Action <string> onResult)
    {
        NaveInputDevices.GetInstance().gameObject.AddComponent <OVRManager>();
        float duration = 5f;

        while (duration > 0f)
        {
            if (OVRManager.OVRManagerinitialized)
            {
                OVRManager.instance.trackingOriginType = OVRManager.TrackingOrigin.FloorLevel;
                onResult?.Invoke(string.Empty);
                yield break;
            }
            duration -= Time.deltaTime;
        }
        onResult("UnityOculusEvn.OVRManager初始化失败");
    }