RankingItem.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.Networking;
  5. using UnityEngine.UI;
  6. using static UnityEngine.Networking.UnityWebRequest;
  7. namespace ShotSimulator.UI
  8. {
  9. public class RankingItem : MonoBehaviour
  10. {
  11. public Sprite[] rankSprits;
  12. public Image rankImage;
  13. public Text rankText;
  14. public Image avatarImage;
  15. public Text userNameText;
  16. public Text scoreText;
  17. public void SetRankData(RankingData data)
  18. {
  19. if (data.rank >= 1 && data.rank <= 3)
  20. {
  21. rankImage.gameObject.SetActive(true);
  22. rankText.gameObject.SetActive(false);
  23. rankImage.sprite = rankSprits[data.rank - 1];
  24. rankImage.SetNativeSize();
  25. }
  26. else
  27. {
  28. rankImage.gameObject.SetActive(false);
  29. rankText.gameObject.SetActive(true);
  30. rankText.text = data.rank.ToString();
  31. }
  32. if (data.avatarUrl != string.Empty)
  33. {
  34. MonoManager.GetInstance().StartCoroutine(LoadTexture2D(data.avatarUrl));
  35. }
  36. userNameText.text = data.userName;
  37. scoreText.text = data.score.ToString();
  38. }
  39. public IEnumerator LoadTexture2D(string path)
  40. {
  41. UnityWebRequest request = UnityWebRequestTexture.GetTexture(path);
  42. yield return request.SendWebRequest();
  43. if(request.result == Result.Success)
  44. {
  45. var texture = DownloadHandlerTexture.GetContent(request);
  46. Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
  47. avatarImage.sprite = sprite;
  48. }
  49. else
  50. {
  51. Debug.LogWarning(request.result);
  52. }
  53. }
  54. }
  55. }