using UnityEngine; using Mapbox.Unity.Map; using UnityEngine.UI; namespace Assets.Scenes.Ride.Scripts { //[ExecuteInEditMode] public class LoadingPanelController : MonoBehaviour { [SerializeField] Text _text; [SerializeField] AnimationCurve _curve; Text mapName; AbstractMap _map; Text level; Text distance; Text elevaction; Text slope; Text rideNum; Text uploadByUserName; private void Start() { var root = transform.parent.parent.parent; _map = root.Find("Map").GetComponent(); var cyclingController = root.GetComponent(); mapName = transform.Find("MapName").GetComponent(); level = transform.Find("level/Text").GetComponent(); elevaction = transform.Find("Elevaction").GetComponent(); slope = transform.Find("Slope").GetComponent(); rideNum = transform.Find("RideNum").GetComponent(); uploadByUserName = transform.Find("UploadByUserName").GetComponent(); var mapdata = cyclingController.GetMapData(); var route = cyclingController.GetRoute(); mapName.text = route.RouteInstance.Name; level.text = route.RouteInstance.Hard; elevaction.text = route.RouteInstance.EleDifference.ToString("g0"); slope.text = route.RouteInstance.AverageGrade.ToString() + "%"; rideNum.text = route.RouteInstance.TheHeat.ToString(); uploadByUserName.text = route.RouteInstance.UserId.ToString(); _map.OnInitialized += _map_OnInitialized; _map.OnTileFinished += _map_OnTileFinished; _map.OnEditorPreviewEnabled += OnEditorPreviewEnabled; _map.OnEditorPreviewDisabled += OnEditorPreviewDisabled; _map.OnUpdated += _map_OnUpdated; } private void _map_OnUpdated() { //Debug.Log("_map_OnUpdated"); } private void _map_OnTileFinished(global::Mapbox.Unity.MeshGeneration.Data.UnityTile obj) { //transform.gameObject.SetActive(false); Debug.Log("_map_OnTileFinished"); } void _map_OnInitialized() { var visualizer = _map.MapVisualizer; _text.text = "LOADING"; visualizer.OnMapVisualizerStateChanged += (s) => { if (this == null) return; if (s == ModuleState.Finished) { transform.gameObject.SetActive(false); } else if (s == ModuleState.Working) { } }; } void OnEditorPreviewEnabled() { transform.gameObject.SetActive(false); } void OnEditorPreviewDisabled() { transform.gameObject.SetActive(true); } void Update() { var t = _curve.Evaluate(Time.time); _text.color = Color.Lerp(Color.clear, Color.white, t); } } }