using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using UnityEngine; using UnityEngine.Networking; using UnityEngine.UI; namespace Assets.Scenes.Ride.Scripts { public class NearByItemScript : MonoBehaviour { private RawImage Head; private RawImage Country; private Text Name; private Text Speed; private Text Distance; private Text Ratio;//功体比 private int _userId = 0; public int UserId { get { return _userId; } } private string _headUrl=string.Empty; private string _countryUrl = string.Empty; private string _name = string.Empty; private string _speed = string.Empty; private string _distance = string.Empty; private string _ratio = string.Empty; private Texture countryTexture; private void Awake() { Head = transform.Find("Head").GetComponent(); Country = transform.Find("Country").GetComponent(); Name = transform.Find("Name").GetComponent(); Speed = transform.Find("Speed").GetComponent(); Distance = transform.Find("Distance").GetComponent(); Ratio = transform.Find("Ratio").GetComponent(); countryTexture = Resources.Load("Images/flag_China_Person").texture; } public void setRatio(string ratio) { if (!_ratio.Equals(ratio)) { Ratio.text = ratio; } } public void setHead(string url) { if (!_headUrl.Equals(url)) { Head.texture = App.CurrentUserHeadTexture; //Utils.DisplayImage(StartCoroutine, Head, url); //StartCoroutine(DownloadImage(Head, url)); var rect = ((RectTransform)Head.transform).rect; Material material = Instantiate(Resources.Load("UI/Material/RoundedCornersTextureMaterial")); material.SetVector(Shader.PropertyToID("_WidthHeightRadius"), new Vector4(rect.width, rect.height, rect.height, 0)); Head.material = material; } } IEnumerator DownloadImage(RawImage img, string MediaUrl) { if (!App.TextureCache.ContainsKey(MediaUrl)) { UnityWebRequest request = UnityWebRequestTexture.GetTexture(MediaUrl); yield return request.SendWebRequest(); if (request.isNetworkError || request.isHttpError) Debug.Log(request.error); else img.texture = ((DownloadHandlerTexture)request.downloadHandler).texture; App.TextureCache.Add(MediaUrl, img.texture); } else { img.texture = App.TextureCache["MediaUrl"]; } } public void setCountry(string url) { if (!_countryUrl.Equals(url)) { Country.texture = countryTexture; //Utils.DisplayImage(StartCoroutine, Country, url); //StartCoroutine(DownloadImage(Country, url)); var rect = ((RectTransform)Country.transform).rect; Material material = Instantiate(Resources.Load("UI/Material/RoundedCornersTextureMaterial")); material.SetVector(Shader.PropertyToID("_WidthHeightRadius"), new Vector4(rect.width, rect.height, rect.height, 0)); Country.material = material; } } public void setName(string name) { if (!_name.Equals(name)) Name.text = name; } public void setSpeed(string speed) { if (!_speed.Equals(speed)) Speed.text = speed; } public void setDistance(string distance) { if (!_distance.Equals(distance)) Distance.text = distance; } public void setUserId(int userId) { _userId = userId; } } }