/// <summary>
 /// Check for pending file.
 /// </summary>
 protected void Update()
 {
     if (_pendingFile != null && _onFileOpen != null && _pendingFilename != null)
     {
         _onFileOpen(_pendingFile, _pendingFilename);
         _pendingFile     = null;
         _onFileOpen      = null;
         _pendingFilename = null;
     }
 }
 /// <summary>
 /// Shows the file open dialog.
 /// </summary>
 /// <param name="onFileOpen">Event that occurs when user choose a file.</param>
 public void ShowFileOpenDialog(FileOpenEventHandle onFileOpen)
 {
     OnFileOpen = onFileOpen;
     if (StartOnLogicalDrives)
     {
         _directory = null;
         ShowDirectoryNames();
     }
     else
     {
         ReloadItemNames();
     }
     _fileLoaderRenderer.SetActive(true);
 }
 /// <summary>
 /// Shows the file open dialog.
 /// </summary>
 /// <param name="onFileOpen">Event that occurs when user choose a file.</param>
 public void ShowFileOpenDialog(FileOpenEventHandle onFileOpen)
 {
     UnityEngine.WSA.Application.InvokeOnUIThread(async() => {
         var filePicker = new Windows.Storage.Pickers.FileOpenPicker();
         filePicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
         filePicker.FileTypeFilter.Add("*");
         var file = await filePicker.PickSingleFileAsync();
         if (file != null)
         {
             _onFileOpen      = onFileOpen;
             _pendingFile     = await UWPUtils.ReadStorageFileIntoBuffer(file);
             _pendingFilename = file.Path;
         }
     }, false);
 }
 /// <summary>
 /// Shows the file open dialog.
 /// </summary>
 /// <param name="onFileOpen">Event that occurs when user choose a file.</param>
 public void ShowFileOpenDialog(FileOpenEventHandle onFileOpen)
 {
     OnFileOpen = onFileOpen;
     ReloadItemNames();
     _fileLoaderRenderer.SetActive(true);
 }