Facebook
From Hans Cristopher, 3 Years ago, written in C#.
Embed
Download Paste or View Raw
Hits: 252
  1. public void LoadUsers()
  2.     {
  3.          
  4.         Social.LoadUsers(_userIds.ToArray(), users =>
  5.         {
  6.             if(users.Length > 0)
  7.             {
  8.                 for(int j = 0 ; j < users.Length ; j++)
  9.                 {
  10.                     userNameTxt[j].text = users[j].userName;
  11.                     pointsTxt[j].text = _userPoints[j];
  12.                 }
  13.  
  14.                 StartCoroutine(KeepCheckingAvatar(users , placesImg , users.Length));
  15.             }  
  16.             else
  17.             {
  18.                
  19.                 _deactivateLoading = true;
  20.             }      
  21.         });
  22.     }
  23.  
  24.     private IEnumerator KeepCheckingAvatar(IUserProfile[] user, Image[] image, int userSize)
  25.     {
  26.         float secondsOfTrying = 20;
  27.         float secondsPerAttempt = 1f;
  28.  
  29.         while (secondsOfTrying > 0)
  30.         {
  31.             switch(userSize)
  32.             {
  33.                 case 1:
  34.                     if (user[0].image != null)
  35.                     {
  36.                         image[0].sprite = Sprite.Create(user[0].image, new Rect(0,0,user[0].image.width,user[0].image.height), Vector2.zero);
  37.                         _deactivateLoading = true;
  38.                     }
  39.                    
  40.                     break;
  41.                 case 2:
  42.                     if (user[0].image != null && user[1].image != null)
  43.                     {
  44.                         image[0].sprite = Sprite.Create(user[0].image, new Rect(0,0,user[0].image.width,user[0].image.height), Vector2.zero);
  45.                         image[1].sprite = Sprite.Create(user[1].image, new Rect(0,0,user[1].image.width,user[1].image.height), Vector2.zero);
  46.                         _deactivateLoading = true;
  47.                     }
  48.                     break;
  49.                 case 3:
  50.                     if (user[0].image != null && user[1].image != null && user[2].image != null)
  51.                     {
  52.                         image[0].sprite = Sprite.Create(user[0].image, new Rect(0,0,user[0].image.width,user[0].image.height), Vector2.zero);
  53.                         image[1].sprite = Sprite.Create(user[1].image, new Rect(0,0,user[1].image.width,user[1].image.height), Vector2.zero);
  54.                         image[2].sprite = Sprite.Create(user[2].image, new Rect(0,0,user[2].image.width,user[2].image.height), Vector2.zero);
  55.                         _deactivateLoading = true;
  56.                     }
  57.                     break;
  58.                 case 4:
  59.                     if (user[0].image != null && user[1].image != null && user[2].image != null && user[3].image != null)
  60.                     {
  61.                         image[0].sprite = Sprite.Create(user[0].image, new Rect(0,0,user[0].image.width,user[0].image.height), Vector2.zero);
  62.                         image[1].sprite = Sprite.Create(user[1].image, new Rect(0,0,user[1].image.width,user[1].image.height), Vector2.zero);
  63.                         image[2].sprite = Sprite.Create(user[2].image, new Rect(0,0,user[2].image.width,user[2].image.height), Vector2.zero);
  64.                         image[3].sprite = Sprite.Create(user[3].image, new Rect(0,0,user[3].image.width,user[3].image.height), Vector2.zero);
  65.                         _deactivateLoading = true;
  66.                     }
  67.                     break;
  68.                 case 5:
  69.                     if (user[0].image != null && user[1].image != null && user[2].image != null && user[3].image != null && user[4].image != null)
  70.                     {
  71.                         image[0].sprite = Sprite.Create(user[0].image, new Rect(0,0,user[0].image.width,user[0].image.height), Vector2.zero);
  72.                         image[1].sprite = Sprite.Create(user[1].image, new Rect(0,0,user[1].image.width,user[1].image.height), Vector2.zero);
  73.                         image[2].sprite = Sprite.Create(user[2].image, new Rect(0,0,user[2].image.width,user[2].image.height), Vector2.zero);
  74.                         image[3].sprite = Sprite.Create(user[3].image, new Rect(0,0,user[3].image.width,user[3].image.height), Vector2.zero);
  75.                         image[4].sprite = Sprite.Create(user[4].image, new Rect(0,0,user[4].image.width,user[4].image.height), Vector2.zero);
  76.                         _deactivateLoading = true;
  77.                     }
  78.                     break;
  79.                 case 6:
  80.                     if (user[0].image != null && user[1].image != null && user[2].image != null && user[3].image != null && user[4].image != null
  81.                     && user[5].image != null)
  82.                     {
  83.                         image[0].sprite = Sprite.Create(user[0].image, new Rect(0,0,user[0].image.width,user[0].image.height), Vector2.zero);
  84.                         image[1].sprite = Sprite.Create(user[1].image, new Rect(0,0,user[1].image.width,user[1].image.height), Vector2.zero);
  85.                         image[2].sprite = Sprite.Create(user[2].image, new Rect(0,0,user[2].image.width,user[2].image.height), Vector2.zero);
  86.                         image[3].sprite = Sprite.Create(user[3].image, new Rect(0,0,user[3].image.width,user[3].image.height), Vector2.zero);
  87.                         image[4].sprite = Sprite.Create(user[4].image, new Rect(0,0,user[4].image.width,user[4].image.height), Vector2.zero);
  88.                         image[5].sprite = Sprite.Create(user[5].image, new Rect(0,0,user[5].image.width,user[5].image.height), Vector2.zero);
  89.                         _deactivateLoading = true;
  90.                     }
  91.                     break;
  92.                 case 7:
  93.                      if (user[0].image != null && user[1].image != null && user[2].image != null && user[3].image != null && user[4].image != null
  94.                     && user[5].image != null && user[6].image != null)
  95.                     {
  96.                         image[0].sprite = Sprite.Create(user[0].image, new Rect(0,0,user[0].image.width,user[0].image.height), Vector2.zero);
  97.                         image[1].sprite = Sprite.Create(user[1].image, new Rect(0,0,user[1].image.width,user[1].image.height), Vector2.zero);
  98.                         image[2].sprite = Sprite.Create(user[2].image, new Rect(0,0,user[2].image.width,user[2].image.height), Vector2.zero);
  99.                         image[3].sprite = Sprite.Create(user[3].image, new Rect(0,0,user[3].image.width,user[3].image.height), Vector2.zero);
  100.                         image[4].sprite = Sprite.Create(user[4].image, new Rect(0,0,user[4].image.width,user[4].image.height), Vector2.zero);
  101.                         image[5].sprite = Sprite.Create(user[5].image, new Rect(0,0,user[5].image.width,user[5].image.height), Vector2.zero);
  102.                         image[6].sprite = Sprite.Create(user[6].image, new Rect(0,0,user[6].image.width,user[6].image.height), Vector2.zero);
  103.                         _deactivateLoading = true;
  104.                     }
  105.                     break;
  106.                 case 8:
  107.                     if (user[0].image != null && user[1].image != null && user[2].image != null && user[3].image != null && user[4].image != null
  108.                     && user[5].image != null && user[6].image != null && user[7].image != null)
  109.                     {
  110.                         image[0].sprite = Sprite.Create(user[0].image, new Rect(0,0,user[0].image.width,user[0].image.height), Vector2.zero);
  111.                         image[1].sprite = Sprite.Create(user[1].image, new Rect(0,0,user[1].image.width,user[1].image.height), Vector2.zero);
  112.                         image[2].sprite = Sprite.Create(user[2].image, new Rect(0,0,user[2].image.width,user[2].image.height), Vector2.zero);
  113.                         image[3].sprite = Sprite.Create(user[3].image, new Rect(0,0,user[3].image.width,user[3].image.height), Vector2.zero);
  114.                         image[4].sprite = Sprite.Create(user[4].image, new Rect(0,0,user[4].image.width,user[4].image.height), Vector2.zero);
  115.                         image[5].sprite = Sprite.Create(user[5].image, new Rect(0,0,user[5].image.width,user[5].image.height), Vector2.zero);
  116.                         image[6].sprite = Sprite.Create(user[6].image, new Rect(0,0,user[6].image.width,user[6].image.height), Vector2.zero);
  117.                         image[7].sprite = Sprite.Create(user[7].image, new Rect(0,0,user[7].image.width,user[7].image.height), Vector2.zero);
  118.                         _deactivateLoading = true;
  119.                     }
  120.                     break;
  121.             }
  122.  
  123.             secondsOfTrying -= secondsPerAttempt;
  124.             debug.text += userSize.ToString();
  125.             yield return new WaitForSeconds(secondsPerAttempt);
  126.         }
  127.     }