예제 #1
0
 /// <summary>
 /// Handles the result that is received from the query to the Privilege API.
 /// <param name="result">The resulting status of the query</param>
 /// <param name="privilegeId">The privilege being queried</param>
 /// </summary>
 private void HandlePrivilegeAsyncRequest(MLResult result, MLPrivilegeId privilegeId)
 {
     if ((MLPrivilegesResult)result.Code == MLPrivilegesResult.Granted)
     {
         Debug.LogFormat("{0} Privilege Granted", privilegeId);
         StartRestore();
     }
     else
     {
         Debug.LogErrorFormat("{0} Privilege Error: {1}", privilegeId, result);
     }
 }
예제 #2
0
 /// <summary>
 /// Handles the result that is received from the query to the Privilege API.
 /// If one of the required privileges are denied, set the Privilege state to Denied.
 /// <param name="result">The resulting status of the query</param>
 /// <param name="privilegeId">The privilege being queried</param>
 /// </summary>
 private void HandlePrivilegeAsyncRequest(MLResult result, MLPrivilegeId privilegeId)
 {
     if (result.Code == MLResultCode.PrivilegeGranted)
     {
         _privilegesGranted.Add(privilegeId);
         Debug.LogFormat("{0} Privilege Granted", privilegeId);
     }
     else
     {
         Debug.LogErrorFormat("{0} Privilege Error: {1}, disabling example.", privilegeId, result);
         _state = PrivilegeState.Failed;
     }
 }
 /// <summary>
 /// Handles the result that is received from the query to the Privilege API.
 /// <param name="result">The resulting status of the query</param>
 /// <param name="privilegeId">The privilege being queried</param>
 /// </summary>
 private void HandlePrivilegeAsyncRequest(MLResult result, MLPrivilegeId privilegeId)
 {
     if ((MLPrivilegesResult)result.Code == MLPrivilegesResult.Granted)
     {
         string message = string.Format("{0} Privilege Granted", privilegeId);
         SetProgress(message);
         Debug.LogFormat(message);
         StartRestore();
     }
     else
     {
         _state = State.CritialError;
         string errorMsg = string.Format("{0} Privilege Error: {1}", privilegeId, result);
         Debug.LogErrorFormat(errorMsg);
         SetProgress(errorMsg);
     }
 }
예제 #4
0
        public static async UniTask RequestPrivilege(MLPrivilegeId privilege)
        {
            // Don't do privilege if app is running in neither ML device nor ZI mode
            if (!XRDevice.isPresent)
            {
                return;
            }

            MLPrivileges.Start().ThrowIfFail();

            MLResult?result = null;

            MLPrivileges.RequestPrivilegeAsync(privilege, (r, _) =>
            {
                result = r;
            }).ThrowIfFail();

            await UniTask.WaitUntil(() => result.HasValue);

            result?.ThrowIfFail();
        }
 public static MLResult RequestPrivilegeAsync(MLPrivilegeId privilegeId, CallbackDelegate callback)
 {
     return(MLResult.Create(MLResult.Code.UnspecifiedFailure));
 }
 public static MLResult CheckPrivilege(MLPrivilegeId privilegeId)
 {
     return(MLResult.Create(MLResult.Code.UnspecifiedFailure));
 }