/// <summary> /// call this method only after authentication is complete and has player data ready /// </summary> /// <param name="resultCallback"></param> /// <param name="imageSize"></param> public void GetPlayerImage(Action <Texture2D> resultCallback, GKPhotoSize imageSize = GKPhotoSize.Normal) { var playerData = ISN_GKLocalPlayer.LocalPlayer; Texture2D texture; try { playerData.LoadPhoto(imageSize, result => { if (result.IsSucceeded) { resultCallback.SafeInvoke(result.Image); Debug.Log("Player photo: " + result.Image); } else { resultCallback.SafeInvoke(null); Debug.Log("Failed to load player's photo: " + result.Error.FullMessage); } }); } catch (Exception e) { Debug.Log($"Error: {e}"); resultCallback.SafeInvoke(null); } }
/// <summary> /// Loads a photo of this player from Game Center. /// </summary> /// <param name="photoSize">Photo size.</param> /// <param name="callback">Callback.</param> public void LoadPhotoForSize(GKPhotoSize photoSize, Action <UIImage, NSError> completionHandler) { C.GKPlayer_loadPhotoForSize( SelfPtr(), photoSize, InternalLoadPhotoForSizeCallback, PInvokeCallbackUtil.ToIntPtr(completionHandler)); }
private static async Task <string> GetPlayerPhotoPath(GKPlayer player, GKPhotoSize size) { try { var icon = await player.LoadPhotoAsync(size); var iconJPEG = icon.AsJPEG(); var iconPath = Path.Combine(Path.GetTempPath(), player.PlayerID + size); iconJPEG.Save(iconPath, atomically: false); return(iconPath); } catch { return(null); } }
/// <summary> /// Loads the photo. /// </summary> /// <param name="size">Size.</param> /// <param name="completionCallback">Completion callback.</param> public void LoadPhoto(GKPhotoSize size, Action<Texture2D> completionCallback) { gkPlayer.LoadPhoto(size, (completionCallback == null) ? null : _CreateLoadPhotoCallback(completionCallback)); }
/// <summary> /// Loads a photo of this player from Game Center. /// </summary> /// <param name="size">A constant that determines the size of the photo to load.</param> /// <param name="callback">A block to be called when the player data is retrieved from Game Center.</param> public void LoadPhoto(GKPhotoSize size, Action <ISN_GKImageLoadResult> callback) { ISN_GKLib.API.GKPlayerLoadPhotoForSize(PlayerID, (int)size, callback); }
internal static extern void GKPlayer_loadPhotoForSize( HandleRef self, GKPhotoSize size, LoadPhotoCallback callback, IntPtr secondaryCallback);
/// <summary> /// Loads the photo. /// </summary> /// <param name="size">Size.</param> /// <param name="completionCallback">Completion callback.</param> public void LoadPhoto(GKPhotoSize size, Action <Texture2D> completionCallback) { gkPlayer.LoadPhoto(size, (completionCallback == null) ? null : _CreateLoadPhotoCallback(completionCallback)); }