E_ElecCompetition/Electrical_inspectionCompet.../Assets/MainUI/Scripts/StudentDataUI.cs

69 lines
1.8 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class StudentDataUI : MonoBehaviour
{
public Text studentName;
public Text examChapter;
public Text timeLeft;
public Image headImage;
public Sprite headSpriteDefault;
public Sprite headSpriteTemp;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
public IEnumerator UpdateStudentData(string name, string examChapter, string timeLeft, string spriteUrl)
{
this.studentName.text = name;
this.examChapter.text = examChapter;
this.timeLeft.text = timeLeft;
this.headImage.sprite = headSpriteDefault;
if (spriteUrl != null && spriteUrl != "null" && spriteUrl != "")
{
yield return GetSpriteFromUrl(spriteUrl);
headImage.sprite = headSpriteTemp;
}
}
public void UpdateLeftTime(string timeLeft)
{
this.timeLeft.text = timeLeft;
}
public IEnumerator GetSpriteFromUrl(string url)
{
headSpriteTemp = null;
UnityWebRequest request = UnityWebRequestTexture.GetTexture(url);
yield return request.SendWebRequest();
if (request.result == UnityWebRequest.Result.ConnectionError || request.result == UnityWebRequest.Result.ProtocolError || request.responseCode == 0)
{
Debug.Log(request.error);
}
else
{
Texture2D webTexture = ((DownloadHandlerTexture)request.downloadHandler).texture as Texture2D;
headSpriteTemp = Sprite.Create(webTexture, new Rect(0.0f, 0.0f, webTexture.width, webTexture.height), new Vector2(0.5f, 0.5f), 100.0f);
}
}
}