using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Networking; using UnityEngine.UI; using static UnityEngine.Networking.UnityWebRequest; namespace ShotSimulator.UI { public class RankingItem : MonoBehaviour { public Sprite[] rankSprits; public Image rankImage; public Text rankText; public Image avatarImage; public Text userNameText; public Text scoreText; public void SetRankData(RankingData data) { if (data.rank >= 1 && data.rank <= 3) { rankImage.gameObject.SetActive(true); rankText.gameObject.SetActive(false); rankImage.sprite = rankSprits[data.rank - 1]; rankImage.SetNativeSize(); } else { rankImage.gameObject.SetActive(false); rankText.gameObject.SetActive(true); rankText.text = data.rank.ToString(); } if (data.avatarUrl != string.Empty) { MonoManager.GetInstance().StartCoroutine(LoadTexture2D(data.avatarUrl)); } userNameText.text = data.userName; scoreText.text = data.score.ToString(); } public IEnumerator LoadTexture2D(string path) { UnityWebRequest request = UnityWebRequestTexture.GetTexture(path); yield return request.SendWebRequest(); if(request.result == Result.Success) { var texture = DownloadHandlerTexture.GetContent(request); Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f)); avatarImage.sprite = sprite; } else { Debug.LogWarning(request.result); } } } }