powerfun-unity/Assets/Scripts/Scenes/VideoRide/ElevationBarDataFeed.cs

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;
}
}
}
}