69 lines
2.2 KiB
C#
69 lines
2.2 KiB
C#
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<VideoGameManager>();
|
|
BarChart barChart = GetComponent<BarChart>();
|
|
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<BarChart>();
|
|
Vector3 vector3 = Vector3.back;
|
|
barChart.GetBarTrackPosition($"Player {videoPlayer.currentIndex}", "Group 1", out vector3);
|
|
head.transform.position = vector3;
|
|
}
|
|
timer += 1f;
|
|
}
|
|
}
|
|
}
|
|
}
|