Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
 /// <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);
            }
        }
Ejemplo n.º 4
0
 /// <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));
 }
Ejemplo n.º 5
0
 /// <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);
 }
Ejemplo n.º 6
0
 internal static extern void GKPlayer_loadPhotoForSize(
     HandleRef self,
     GKPhotoSize size,
     LoadPhotoCallback callback, IntPtr secondaryCallback);
Ejemplo n.º 7
0
 /// <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));
 }