Files
XCharts/Demo/Scripts/Demo_Dynamic.cs
2019-05-11 04:33:54 +08:00

55 lines
1.5 KiB
C#

using System;
using UnityEngine;
using UnityEngine.UI;
using XCharts;
public class Demo_Dynamic : MonoBehaviour
{
public int maxCacheDataNumber = 100;
public float initDataTime = 2;
private CoordinateChart chart;
private float updateTime;
private float initTime;
private int initCount;
private int count;
private bool isInited;
private DateTime timeNow;
void Awake()
{
chart = gameObject.GetComponentInChildren<CoordinateChart>();
chart.xAxis.ClearData();
chart.series.ClearData();
chart.maxCacheDataNumber = maxCacheDataNumber;
timeNow = DateTime.Now;
initCount = maxCacheDataNumber;
}
void Update()
{
if (initCount>0)
{
int count = (int)(maxCacheDataNumber / initDataTime * Time.deltaTime);
for (int i = 0; i < count; i++)
{
timeNow = timeNow.AddSeconds(-initCount);
chart.AddXAxisData(timeNow.ToString("hh:mm:ss"));
chart.AddData(0, UnityEngine.Random.Range(60, 150));
initCount--;
if (initCount <= 0) break;
}
chart.RefreshChart();
}
updateTime += Time.deltaTime;
if (updateTime >= 1)
{
updateTime = 0;
count++;
chart.AddXAxisData(DateTime.Now.ToString("hh:mm:ss"));
chart.AddData(0, UnityEngine.Random.Range(60, 150));
chart.RefreshChart();
}
}
}