SerieEventDataPool.cs 902 B

12345678910111213141516171819202122232425262728293031323334
  1. using UnityEngine;
  2. namespace XCharts.Runtime
  3. {
  4. public static class SerieEventDataPool
  5. {
  6. private static readonly ObjectPool<SerieEventData> s_ListPool = new ObjectPool<SerieEventData>(null, OnClear);
  7. static void OnGet(SerieEventData data)
  8. {
  9. }
  10. static void OnClear(SerieEventData data)
  11. {
  12. data.Reset();
  13. }
  14. public static SerieEventData Get(Vector3 pos, int serieIndex, int dataIndex, int dimension, double value)
  15. {
  16. var data = s_ListPool.Get();
  17. data.serieIndex = serieIndex;
  18. data.dataIndex = dataIndex;
  19. data.pointerPos = pos;
  20. data.dimension = dimension;
  21. data.value = value;
  22. return data;
  23. }
  24. public static void Release(SerieEventData toRelease)
  25. {
  26. s_ListPool.Release(toRelease);
  27. }
  28. }
  29. }