Example31_PieUpdateName.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using UnityEngine;
  2. using XCharts.Runtime;
  3. namespace XCharts.Example
  4. {
  5. [DisallowMultipleComponent]
  6. [ExecuteInEditMode]
  7. public class Example31_PieUpdateName : MonoBehaviour
  8. {
  9. PieChart chart;
  10. void Awake()
  11. {
  12. chart = gameObject.GetComponent<PieChart>();
  13. if (chart == null)
  14. {
  15. chart = gameObject.AddComponent<PieChart>();
  16. }
  17. var serieIndex = 0;
  18. var serie = chart.GetSerie(serieIndex);
  19. if (serie == null) return;
  20. serie.AddExtraComponent<LabelStyle>();
  21. serie.label.show = true;
  22. serie.label.position = LabelStyle.Position.Outside;
  23. }
  24. void Update()
  25. {
  26. if (Input.GetKeyDown(KeyCode.Space))
  27. {
  28. ClearAndAddData();
  29. //UpdateDataName();
  30. //UpdateDataName();
  31. }
  32. }
  33. void UpdateDataName()
  34. {
  35. var serieIndex = 0;
  36. var serie = chart.GetSerie(serieIndex);
  37. if (serie == null) return;
  38. for (int i = 0; i < serie.dataCount; i++)
  39. {
  40. var value = Random.Range(10, 100);
  41. chart.UpdateData(serieIndex, i, value);
  42. chart.UpdateDataName(serieIndex, i, "value=" + value);
  43. }
  44. }
  45. void ResetSameName()
  46. {
  47. var serieIndex = 0;
  48. var serie = chart.GetSerie(serieIndex);
  49. if (serie == null) return;
  50. for (int i = 0; i < serie.dataCount; i++)
  51. {
  52. chart.UpdateDataName(serieIndex, i, "piename");
  53. }
  54. }
  55. void ClearAndAddData()
  56. {
  57. var serieIndex = 0;
  58. var serie = chart.GetSerie(serieIndex);
  59. if (serie == null) return;
  60. int count = serie.dataCount;
  61. serie.ClearData();
  62. for (int i = 0; i < count; i++)
  63. {
  64. chart.AddData(0, Random.Range(0, 100), "pie" + i);
  65. }
  66. }
  67. }
  68. }