Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using UnityEngine.Events;
- namespace Test
- {
- public class ClickOnTroughUiObjects : MonoBehaviour
- {
- [SerializeField] private RectTransform _rectTransform;
- public UnityEvent OnClick = null;
- private RectTransform RectTransform =>
- _rectTransform != null && ReferenceEquals(_rectTransform.gameObject, gameObject)
- ? _rectTransform
- : _rectTransform = transform as RectTransform;
- #if UNITY_EDITOR
- private void OnValidate()
- {
- var rectTransform = RectTransform;
- }
- #endif
- private void Update()
- {
- if (Input.GetMouseButtonUp(0))
- {
- var localMousePosition = RectTransform.InverseTransformPoint(Input.mousePosition);
- if (RectTransform.rect.Contains(localMousePosition))
- OnClick?.Invoke();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement