Link.cs 1006 B

123456789101112131415161718192021222324252627282930313233343536
  1. using System.Runtime.InteropServices;
  2. using UnityEngine;
  3. using UnityEngine.EventSystems;
  4. namespace BestHTTP.Examples
  5. {
  6. public class Link : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerDownHandler
  7. {
  8. public string url;
  9. public Texture2D linkSelectCursor;
  10. void IPointerDownHandler.OnPointerDown(PointerEventData eventData)
  11. {
  12. #if UNITY_WEBGL && !UNITY_EDITOR
  13. openWindow(this.url);
  14. #else
  15. Application.OpenURL(this.url);
  16. #endif
  17. }
  18. void IPointerEnterHandler.OnPointerEnter(PointerEventData eventData)
  19. {
  20. Cursor.SetCursor(this.linkSelectCursor, Vector2.zero, CursorMode.Auto);
  21. }
  22. void IPointerExitHandler.OnPointerExit(PointerEventData eventData)
  23. {
  24. Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto);
  25. }
  26. #if UNITY_WEBGL && !UNITY_EDITOR
  27. [DllImport("__Internal")]
  28. private static extern void openWindow(string url);
  29. #endif
  30. }
  31. }