using ChartAndGraph; using System; using UnityEngine; namespace Assets.Scripts.Scenes.VideoRide { public class ElevationBarDataFeed : MonoBehaviour { GameObject head { get; set; } VideoGameManager manager { get; set; } [SerializeField] Material _lightColor; [SerializeField] Material _mediumColor; [SerializeField] Material _hardColor; void Start() { head = transform.Find("HeadPanel").gameObject; manager= FindObjectOfType(); BarChart barChart = GetComponent(); if (barChart != null) { barChart.DataSource.SetValue("Player 1", "Value 1", UnityEngine.Random.value * 20); barChart.DataSource.SlideValue("Player 2", "Value 1", UnityEngine.Random.value * 20, 40f); } var material = barChart.DataSource.GetMaterial("Player 1"); var material1 = barChart.DataSource.GetMaterial("Player 2"); var material2 = barChart.DataSource.GetMaterial("Player 3"); var list = manager.GetMapData().List; for (int i = 5; i < list.Count; i++) { if (i % 2 == 0) { material = material1; } else { material = material2; } barChart.DataSource.AddCategory($"Player {i}", material); barChart.DataSource.SetValue($"Player {i}", "Group 1", list[i].Elevation); } } float timer = 1f; private void Update() { timer -= Time.deltaTime; while (timer < 0) { var videoPlayer = manager.CurrentPlayer; if (videoPlayer != null) { BarChart barChart = GetComponent(); Vector3 vector3 = Vector3.back; barChart.GetBarTrackPosition($"Player {videoPlayer.currentIndex}", "Group 1", out vector3); head.transform.position = vector3; } timer += 1f; } } } }