| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- 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.avatarId == int.MinValue)
- {
- if (avatarImage) avatarImage.sprite = null;
- }
- else if (data.avatarId < 0) {
- if (data.avatarUrl != string.Empty)
- {
- MonoManager.GetInstance().StartCoroutine(LoadTexture2D(data.avatarUrl));
- }
- }
- else
- {
- string path = "Textures/Avatar/";
- if (data.avatarId < 7) path += "Player" + data.avatarId;
- else path += data.avatarId - 7;
- if (avatarImage) avatarImage.sprite = Resources.Load<Sprite>(path);
- }
- 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);
- }
- }
- public void Reset()
- {
- rankImage.gameObject.SetActive(false);
- rankText.gameObject.SetActive(false);
- avatarImage.sprite = null;
- userNameText.text = string.Empty;
- scoreText.text = string.Empty;
- }
- }
- }
|