powerfun-unity/Assets/Scenes/Ride/Scripts/ReviewItemScript.cs

73 lines
2.1 KiB
C#

using Assets.Scripts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
namespace Assets.Scenes.Ride.Scripts
{
public class ReviewItemScript : MonoBehaviour
{
private RawImage Head;
private Text Name;
private Text Distance;
private void Awake()
{
Head = transform.Find("Head").GetComponent<RawImage>();
Name = transform.Find("Name").GetComponent<Text>();
Distance = transform.Find("Distance").GetComponent<Text>();
}
private void Start()
{
}
public void SetName(string name)
{
Name.text = name;
}
public Texture GetHead()
{
return Head.texture;
}
public void SetHead(string url)
{
if (App.TextureCache.ContainsKey(url))
{
Head.texture = App.TextureCache[url];
}
else
{
Utils.DisplayImageAysnc(StartCoroutine, Head, url, ImageCallBack);
}
Utils.DisplayImage(StartCoroutine,Head,url);
var rect = ((RectTransform)Head.transform).rect;
Material material = Instantiate(Resources.Load<Material>("UI/Material/RoundedCornersTextureMaterial"));
material.SetVector(Shader.PropertyToID("_WidthHeightRadius"), new Vector4(rect.width, rect.height, rect.height, 0));
Head.material = material;
}
private void ImageCallBack(string url)
{
if (!App.TextureCache.ContainsKey(url))
App.TextureCache.Add(url, Head.texture);
}
public void SetDistance(double distance)
{
_distance = distance;
var prefix = distance > 0 ? "+" : "";
Distance.text = prefix + distance.ToString() + "M";
}
private double _distance;
public double GetDistance()
{
return _distance;
}
}
}