UIElementsCursor.cs 911 B

123456789101112131415161718192021222324252627282930
  1. #if UNITY_2019_4_OR_NEWER
  2. using System.Reflection;
  3. using UnityEditor;
  4. namespace YooAsset.Editor
  5. {
  6. public static class UIElementsCursor
  7. {
  8. private static PropertyInfo _defaultCursorId;
  9. private static PropertyInfo DefaultCursorId
  10. {
  11. get
  12. {
  13. if (_defaultCursorId != null)
  14. return _defaultCursorId;
  15. _defaultCursorId = typeof(UnityEngine.UIElements.Cursor).GetProperty("defaultCursorId", BindingFlags.NonPublic | BindingFlags.Instance);
  16. return _defaultCursorId;
  17. }
  18. }
  19. public static UnityEngine.UIElements.Cursor CreateCursor(MouseCursor cursorType)
  20. {
  21. var ret = (object)new UnityEngine.UIElements.Cursor();
  22. DefaultCursorId.SetValue(ret, (int)cursorType);
  23. return (UnityEngine.UIElements.Cursor)ret;
  24. }
  25. }
  26. }
  27. #endif