예제 #1
0
        public static void SerializeDataToAlbum(Texture2D p_texture, string p_fileName)
        {
            FixInstanceName();
            var v_extension = "." + CrossPickerServices.EncodeOption.ToString().ToLower();

            if (!string.IsNullOrEmpty(p_fileName) && !p_fileName.EndsWith(v_extension))
            {
                p_fileName += v_extension;
            }

            byte[] v_data = p_texture != null ? (CrossPickerServices.EncodeOption == CrossPickerServices.TextureEncoderEnum.JPG ? p_texture.EncodeToJPG() : p_texture.EncodeToPNG()) : null;
            NativeGallery.MediaSaveCallback v_mediaSaveDelegate = (error) =>
            {
                if (string.IsNullOrEmpty(error))
                {
                    var v_temporarySavePath = CrossPickerServices.SaveTextureToTemporaryPath(v_data, System.IO.Path.GetFileName(p_fileName));
                    Instance.NativeImageSaveSuccess(v_temporarySavePath);
                }
                else
                {
                    Instance.NativeImageSaveFailed();
                }
            };
            NativeGallery.SaveImageToGallery(v_data, Application.productName, p_fileName, v_mediaSaveDelegate);
        }
예제 #2
0
 public void OnMediaSaveCompleted(string message)
 {
     if (callback != null)
     {
         callback(null);
         callback = null;
     }
 }
예제 #3
0
        public void OnMediaSaveFailed(string error)
        {
            NativeGallery.MediaSaveCallback _callback = callback;
            callback = null;

            if (_callback != null)
            {
                _callback(false, null);
            }
        }
예제 #4
0
        public void OnMediaSaveCompleted(string message)
        {
            NativeGallery.MediaSaveCallback _callback = callback;
            callback = null;

            if (_callback != null)
            {
                _callback(true, null);
            }
        }
예제 #5
0
        public void OnMediaSaveFailed(string error)
        {
            if (string.IsNullOrEmpty(error))
            {
                error = "Unknown error";
            }

            if (callback != null)
            {
                callback(error);
                callback = null;
            }
        }
예제 #6
0
        public static void Initialize(NativeGallery.MediaSaveCallback callback)
        {
            if (instance == null)
            {
                instance = new GameObject("NGMediaSaveCallbackiOS").AddComponent <NGMediaSaveCallbackiOS>();
                DontDestroyOnLoad(instance.gameObject);
            }
            else if (instance.callback != null)
            {
                instance.callback(null);
            }

            instance.callback = callback;
        }