44 lines
1.2 KiB
C#
44 lines
1.2 KiB
C#
namespace Mapbox.Examples
|
|
{
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using Mapbox.Unity.MeshGeneration.Interfaces;
|
|
|
|
public class MakiHelper : MonoBehaviour, IFeaturePropertySettable
|
|
{
|
|
public static RectTransform Parent;
|
|
public static GameObject UiPrefab;
|
|
|
|
private GameObject _uiObject;
|
|
|
|
public void Set(Dictionary<string, object> props)
|
|
{
|
|
if (Parent == null)
|
|
{
|
|
var canv = GameObject.Find("PoiCanvas");
|
|
var ob = new GameObject("PoiContainer");
|
|
ob.transform.SetParent(canv.transform);
|
|
Parent = ob.AddComponent<RectTransform>();
|
|
UiPrefab = Resources.Load<GameObject>("MakiUiPrefab");
|
|
}
|
|
|
|
if (props.ContainsKey("maki"))
|
|
{
|
|
_uiObject = Instantiate(UiPrefab);
|
|
_uiObject.transform.SetParent(Parent);
|
|
_uiObject.transform.Find("Image").GetComponent<Image>().sprite = Resources.Load<Sprite>("maki/" + props["maki"].ToString() + "-15");
|
|
if (props.ContainsKey("name"))
|
|
{
|
|
_uiObject.GetComponentInChildren<Text>().text = props["name"].ToString();
|
|
}
|
|
}
|
|
}
|
|
|
|
public void LateUpdate()
|
|
{
|
|
if (_uiObject)
|
|
_uiObject.transform.position = Camera.main.WorldToScreenPoint(transform.position);
|
|
}
|
|
}
|
|
} |