Example41_RadarUpdate.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using UnityEngine;
  2. using XCharts.Runtime;
  3. #if INPUT_SYSTEM_ENABLED
  4. using Input = XCharts.Runtime.InputHelper;
  5. #endif
  6. namespace XCharts.Example
  7. {
  8. [DisallowMultipleComponent]
  9. [ExecuteInEditMode]
  10. public class Example41_RadarUpdate : MonoBehaviour
  11. {
  12. RadarChart chart;
  13. int count = 0;
  14. double max = 0;
  15. void Awake()
  16. {
  17. chart = gameObject.GetComponent<RadarChart>();
  18. if (chart == null)
  19. {
  20. chart = gameObject.AddComponent<RadarChart>();
  21. chart.Init();
  22. }
  23. }
  24. void Update()
  25. {
  26. if (Input.GetKeyDown(KeyCode.Space))
  27. {
  28. UpdateData();
  29. count++;
  30. }
  31. UpdateMax();
  32. }
  33. void UpdateData()
  34. {
  35. var serieIndex = 0;
  36. var serie = chart.GetSerie(serieIndex);
  37. if (serie == null) return;
  38. if (serie.radarType == RadarType.Multiple)
  39. {
  40. for (int i = 0; i < serie.dataCount; i++)
  41. {
  42. var serieData = serie.GetSerieData(i);
  43. for (int j = 0; j < serieData.data.Count; j++)
  44. {
  45. var value = Random.Range(10, 100);
  46. chart.UpdateData(serieIndex, i, j, value);
  47. }
  48. }
  49. }
  50. else
  51. {
  52. for (int i = 0; i < serie.dataCount; i++)
  53. {
  54. var value = Random.Range(10, 100);
  55. chart.UpdateData(serieIndex, i, value);
  56. }
  57. }
  58. chart.GetChartComponent<Title>().subText = "max:" + serie.context.dataMax;
  59. }
  60. void UpdateMax()
  61. {
  62. var serieIndex = 0;
  63. var serie = chart.GetSerie(serieIndex);
  64. if (serie == null) return;
  65. if (serie.context.dataMax != max)
  66. {
  67. chart.GetChartComponent<Title>().subText = "max:" + serie.context.dataMax;
  68. max = serie.context.dataMax;
  69. }
  70. }
  71. }
  72. }