GenericDefaultControl.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using System;
  2. using UnityEngine;
  3. namespace UnityEditor.U2D.Path.GUIFramework
  4. {
  5. public class GenericDefaultControl : DefaultControl
  6. {
  7. public Func<IGUIState, Vector3> position;
  8. public Func<IGUIState, Vector3> forward;
  9. public Func<IGUIState, Vector3> up;
  10. public Func<IGUIState, Vector3> right;
  11. public Func<IGUIState, object> userData;
  12. public GenericDefaultControl(string name) : base(name)
  13. {
  14. }
  15. protected override Vector3 GetPosition(IGUIState guiState, int index)
  16. {
  17. if (position != null)
  18. return position(guiState);
  19. return base.GetPosition(guiState, index);
  20. }
  21. protected override Vector3 GetForward(IGUIState guiState, int index)
  22. {
  23. if (forward != null)
  24. return forward(guiState);
  25. return base.GetForward(guiState, index);
  26. }
  27. protected override Vector3 GetUp(IGUIState guiState, int index)
  28. {
  29. if (up != null)
  30. return up(guiState);
  31. return base.GetUp(guiState, index);
  32. }
  33. protected override Vector3 GetRight(IGUIState guiState, int index)
  34. {
  35. if (right != null)
  36. return right(guiState);
  37. return base.GetRight(guiState, index);
  38. }
  39. protected override object GetUserData(IGUIState guiState, int index)
  40. {
  41. if (userData != null)
  42. return userData(guiState);
  43. return base.GetUserData(guiState, index);
  44. }
  45. }
  46. }