CircleRayCastChecker.cs 555 B

123456789101112131415161718
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using UnityEngine.EventSystems;
  6. public class CircleRayCastChecker : MonoBehaviour, ICanvasRaycastFilter
  7. {
  8. public float radius;
  9. public bool IsRaycastLocationValid(Vector2 sp, Camera eventCamera)
  10. {
  11. RectTransformUtility.ScreenPointToLocalPointInRectangle(transform as RectTransform, sp, eventCamera,
  12. out Vector2 localPos);
  13. float dis = Vector3.Distance(localPos, Vector3.zero);
  14. return dis <= radius;
  15. }
  16. }