示例#1
0
        /// <summary>
        /// Attempt to publish this file for other users to download.
        /// </summary>
        /// <returns>True if we have started attempting to share</returns>
        public bool Share(ShareCallback onSuccess = null, FailureCallback onFailure = null)
        {
            if (_isUgc)
            {
                return(false);
            }

            // Already shared
            if (_handle.Value != 0)
            {
                return(false);
            }

            remoteStorage.native.FileShare(FileName, (result, error) =>
            {
                if (!error && result.Result == Result.OK)
                {
                    _handle.Value = result.File;
                    onSuccess?.Invoke();
                }
                else
                {
                    onFailure?.Invoke(result.Result == 0 ? Callbacks.Result.IOFailure : (Callbacks.Result)result.Result);
                }
            });

            return(true);
        }
 /// <summary>
 /// Share plain text with the native sharing UI.
 /// Returns true if the text can be shared.
 /// </summary>
 /// <param name="text">Text to be shared</param>
 /// <param name="callback">Optional. Callback to be invoked once sharing is complete</param>
 public static bool ShareText(string text, ShareCallback callback = null)
 {
     if (string.IsNullOrEmpty(text))
     {
         Debug.LogError("NatShare Error: Text being shared is null");
         return(false);
     }
     return(Implementation.ShareText(text, callback));
 }
示例#3
0
 bool INatShare.ShareText(string text, ShareCallback callback)
 {
     Debug.LogError("NatShare Error: This platform does not support sharing");
     if (callback != null)
     {
         callback();
     }
     return(false);
 }
示例#4
0
 bool INatShare.ShareImage(byte[] pngData, string message, ShareCallback callback)
 {
     Debug.LogError("NatShare Error: This platform does not support sharing");
     if (callback != null)
     {
         callback();
     }
     return(false);
 }
示例#5
0
 bool INatShare.ShareMedia(string path, string message, ShareCallback callback)
 {
     Debug.LogError("NatShare Error: This platform does not support sharing");
     if (callback != null)
     {
         callback();
     }
     return(false);
 }
示例#6
0
 public static bool Share(string media, ShareCallback callback = null)
 {
     if (string.IsNullOrEmpty(media))
     {
         Debug.LogError("NatShare Error: Media being shared is null or empty");
         return(false);
     }
     return(Implementation.Share(media, callback));
 }
示例#7
0
 bool INatShare.Share(string media, ShareCallback callback)
 {
     Debug.LogError("NatShare Error: This platform does not support sharing");
     if (callback != null)
     {
         callback();
     }
     return(true);
 }
 public static bool ShareImage(Texture2D image, string message = "", ShareCallback callback = null)
 {
     if (!image)
     {
         Debug.LogError("NatShare Error: Texture being shared is null");
         return(false);
     }
     return(Implementation.ShareImage(image.EncodeToPNG(), message, callback));
 }
 public static bool ShareMedia(string path, string message = "", ShareCallback callback = null)
 {
     if (string.IsNullOrEmpty(path))
     {
         Debug.LogError("NatShare Error: Path to media file is invalid");
         return(false);
     }
     return(Implementation.ShareMedia(path, message, callback));
 }
示例#10
0
        bool INatShare.Share(string media, ShareCallback callback)
        {
            this.callback = callback;
            Uri uri;

            if (Uri.TryCreate(media, UriKind.Absolute, out uri))
            {
                return(natshare.Call <bool>("shareMedia", media));
            }
            else
            {
                return(natshare.Call <bool>("shareText", media));
            }
        }
示例#11
0
        bool INatShare.Share(string media, ShareCallback callback)
        {
            this.callback = callback;
            Uri uri;

            if (Uri.TryCreate(media, UriKind.Absolute, out uri))
            {
                return(NatShareBridge.ShareMedia(media));
            }
            else
            {
                return(NatShareBridge.ShareText(media));
            }
        }
示例#12
0
 bool INatShare.ShareMedia(string path, string message, ShareCallback callback)
 {
     this.callback = callback;
     return(NatShareBridge.Share(path, message));
 }
示例#13
0
 bool INatShare.ShareImage(byte[] pngData, string message, ShareCallback callback)
 {
     this.callback = callback;
     return(natshare.Call <bool>("shareImage", pngData, message));
 }
示例#14
0
 bool INatShare.ShareText(string text, ShareCallback callback)
 {
     this.callback = callback;
     return(NatShareBridge.Share(text));
 }
示例#15
0
 bool INatShare.Share(byte[] pngData, ShareCallback callback)
 {
     this.callback = callback;
     return(natshare.Call <bool>("shareImage", pngData));
 }
示例#16
0
 bool INatShare.ShareMedia(string path, string message, ShareCallback callback)
 {
     this.callback = callback;
     return(natshare.Call <bool>("shareMedia", path, message));
 }
示例#17
0
 bool INatShare.ShareImage(byte[] pngData, string message, ShareCallback callback)
 {
     this.callback = callback;
     return(NatShareBridge.Share(pngData, pngData.Length, message));
 }
示例#18
0
 bool INatShare.ShareText(string text, ShareCallback callback)
 {
     this.callback = callback;
     return(natshare.Call <bool>("shareText", text));
 }