/// <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)); }
bool INatShare.ShareText(string text, ShareCallback callback) { Debug.LogError("NatShare Error: This platform does not support sharing"); if (callback != null) { callback(); } return(false); }
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); }
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); }
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)); }
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)); }
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)); } }
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)); } }
bool INatShare.ShareMedia(string path, string message, ShareCallback callback) { this.callback = callback; return(NatShareBridge.Share(path, message)); }
bool INatShare.ShareImage(byte[] pngData, string message, ShareCallback callback) { this.callback = callback; return(natshare.Call <bool>("shareImage", pngData, message)); }
bool INatShare.ShareText(string text, ShareCallback callback) { this.callback = callback; return(NatShareBridge.Share(text)); }
bool INatShare.Share(byte[] pngData, ShareCallback callback) { this.callback = callback; return(natshare.Call <bool>("shareImage", pngData)); }
bool INatShare.ShareMedia(string path, string message, ShareCallback callback) { this.callback = callback; return(natshare.Call <bool>("shareMedia", path, message)); }
bool INatShare.ShareImage(byte[] pngData, string message, ShareCallback callback) { this.callback = callback; return(NatShareBridge.Share(pngData, pngData.Length, message)); }
bool INatShare.ShareText(string text, ShareCallback callback) { this.callback = callback; return(natshare.Call <bool>("shareText", text)); }