Advertisement
Guest User

Facebook Unity SDK Profile Pic Loading

a guest
Feb 23rd, 2015
1,417
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.43 KB | None | 0 0
  1. using Facebook.MiniJSON;
  2.  
  3. FB.API (GetPictureURL(user["id"].ToString(), 128,128), Facebook.HttpMethod.GET, delegate(FBResult pictureResult)
  4. {
  5.     string imageUrl = DeserializePictureURLString(pictureResult.Text);
  6.     StartCoroutine(LoadPictureEnumerator(imageUrl,pictureTexture =>
  7.     {
  8.         UserAvatar.sprite = Sprite.Create (pictureTexture, new Rect(0,0,128,128), new Vector2(0,0));
  9.     }));
  10. });
  11.  
  12. delegate void LoadPictureCallback (Texture2D texture);
  13.  
  14. IEnumerator LoadPictureEnumerator(string url, LoadPictureCallback callback)    
  15. {
  16.     WWW www = new WWW(url);
  17.     yield return www;
  18.     callback(www.texture);
  19. }
  20.  
  21. public string DeserializePictureURLString(string response)
  22. {
  23.     return DeserializePictureURLObject(Json.Deserialize(response));
  24. }
  25.  
  26. public string DeserializePictureURLObject(object pictureObj)
  27. {
  28.     var picture = (Dictionary<string, object>)(((Dictionary<string, object>)pictureObj)["data"]);
  29.     object urlH = null;
  30.     if (picture.TryGetValue("url", out urlH))
  31.     {
  32.         return (string)urlH;
  33.     }
  34.     return null;
  35. }
  36.  
  37. private string GetPictureURL(string facebookID, int? width = null, int? height = null, string type = null)
  38. {
  39.     string url = string.Format("/{0}/picture", facebookID);
  40.     string query = width != null ? "&width=" + width.ToString() : "";
  41.     query += height != null ? "&height=" + height.ToString() : "";
  42.     query += type != null ? "&type=" + type : "";
  43.     query += "&redirect=false";
  44.     if (query != "") url += ("?g" + query);
  45.     return url;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement