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); } } } } }
// 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>(); }
public NGMediaReceiveCallbackAndroid(NativeGallery.MediaPickCallback callback, NativeGallery.MediaPickMultipleCallback callbackMultiple) : base("com.yasirkula.unity.NativeGalleryMediaReceiver") { this.callback = callback; this.callbackMultiple = callbackMultiple; }