private void Update()
        {
            if (IsBusy)
            {
                if (Time.realtimeSinceStartup >= nextBusyCheckTime)
                {
                    nextBusyCheckTime = Time.realtimeSinceStartup + 1f;

                    if (_NativeGallery_IsMediaPickerBusy() == 0)
                    {
                        IsBusy = false;

                        NativeGallery.MediaPickCallback _callback = callback;
                        callback = null;

                        NativeGallery.MediaPickMultipleCallback _callbackMultiple = callbackMultiple;
                        callbackMultiple = null;

                        if (_callback != null)
                        {
                            _callback(null);
                        }

                        if (_callbackMultiple != null)
                        {
                            _callbackMultiple(null);
                        }
                    }
                }
            }
        }
Esempio n. 2
0
 // Image Handler
 public void AddImage()   // Open Gallery and add image
 {
     if (NativeGallery.CanSelectMultipleFilesFromGallery())
     {
         NativeGallery.MediaPickMultipleCallback multi_callback = new NativeGallery.MediaPickMultipleCallback(LoadImages);
         NativeGallery.GetImagesFromGallery(multi_callback);
         return;
     }
     NativeGallery.MediaPickCallback callback = new NativeGallery.MediaPickCallback(LoadImage);
     NativeGallery.GetImageFromGallery(callback);
 }
        public void OnMultipleMediaReceived(string paths)
        {
            IsBusy = false;

            string[] _paths = SplitPaths(paths);
            if (_paths != null && _paths.Length == 0)
            {
                _paths = null;
            }

            NativeGallery.MediaPickMultipleCallback _callbackMultiple = callbackMultiple;
            callbackMultiple = null;

            if (_callbackMultiple != null)
            {
                _callbackMultiple(_paths);
            }
        }
        public static void Initialize(NativeGallery.MediaPickCallback callback, NativeGallery.MediaPickMultipleCallback callbackMultiple)
        {
            if (IsBusy)
            {
                return;
            }

            if (instance == null)
            {
                instance = new GameObject("NGMediaReceiveCallbackiOS").AddComponent <NGMediaReceiveCallbackiOS>();
                DontDestroyOnLoad(instance.gameObject);
            }

            instance.callback         = callback;
            instance.callbackMultiple = callbackMultiple;

            instance.nextBusyCheckTime = Time.realtimeSinceStartup + 1f;
            IsBusy = true;
        }
 public NGMediaReceiveCallbackAndroid(NativeGallery.MediaPickCallback callback, NativeGallery.MediaPickMultipleCallback callbackMultiple) : base("com.yasirkula.unity.NativeGalleryMediaReceiver")
 {
     this.callback         = callback;
     this.callbackMultiple = callbackMultiple;
     callbackHelper        = new GameObject("NGCallbackHelper").AddComponent <NGCallbackHelper>();
 }
Esempio n. 6
0
 public NGMediaReceiveCallbackAndroid(NativeGallery.MediaPickCallback callback, NativeGallery.MediaPickMultipleCallback callbackMultiple) : base("com.yasirkula.unity.NativeGalleryMediaReceiver")
 {
     this.callback         = callback;
     this.callbackMultiple = callbackMultiple;
 }