Aucune description
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

BackgroundHandler.cs 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using UnityEngine;
  3. using UnityEngine.UI;
  4. using XUGL;
  5. namespace XCharts.Runtime
  6. {
  7. [UnityEngine.Scripting.Preserve]
  8. internal sealed class BackgroundHandler : MainComponentHandler<Background>
  9. {
  10. private readonly string s_BackgroundObjectName = "background";
  11. public override void InitComponent()
  12. {
  13. component.painter = chart.painter;
  14. component.refreshComponent = delegate()
  15. {
  16. var backgroundObj = ChartHelper.AddObject(s_BackgroundObjectName, chart.transform, chart.chartMinAnchor,
  17. chart.chartMaxAnchor, chart.chartPivot, chart.chartSizeDelta);
  18. component.gameObject = backgroundObj;
  19. backgroundObj.hideFlags = chart.chartHideFlags;
  20. var backgroundImage = ChartHelper.EnsureComponent<Image>(backgroundObj);
  21. ChartHelper.UpdateRectTransform(backgroundObj, chart.chartMinAnchor,
  22. chart.chartMaxAnchor, chart.chartPivot, chart.chartSizeDelta);
  23. backgroundImage.sprite = component.image;
  24. backgroundImage.type = component.imageType;
  25. backgroundImage.color = chart.theme.GetBackgroundColor(component);
  26. backgroundObj.transform.SetSiblingIndex(0);
  27. backgroundObj.SetActive(component.show);
  28. };
  29. component.refreshComponent();
  30. }
  31. public override void Update()
  32. {
  33. if (component.gameObject != null && component.gameObject.transform.GetSiblingIndex() != 0)
  34. component.gameObject.transform.SetSiblingIndex(0);
  35. }
  36. public override void DrawBase(VertexHelper vh)
  37. {
  38. if (!component.show)
  39. return;
  40. if (component.image != null)
  41. return;
  42. var p1 = new Vector3(chart.chartX, chart.chartY + chart.chartHeight);
  43. var p2 = new Vector3(chart.chartX + chart.chartWidth, chart.chartY + chart.chartHeight);
  44. var p3 = new Vector3(chart.chartX + chart.chartWidth, chart.chartY);
  45. var p4 = new Vector3(chart.chartX, chart.chartY);
  46. var backgroundColor = chart.theme.GetBackgroundColor(component);
  47. UGL.DrawQuadrilateral(vh, p1, p2, p3, p4, backgroundColor);
  48. }
  49. }
  50. }