То, что вы пытаетесь сделать, невозможно только с одним скриптом.Вам нужно как минимум два сценария:
- Один на изображении, реализующий интерфейс
IPointerDownHandler
и инициирующий событие, чтобы ваш второй сценарий мог его прослушать - Один один другойgameobject, слушающий событие, вызванное 1-м сценарием:
using UnityEngine;
using UnityEngine.EventSystems;
[System.Serializable]
public class PointerEvent : UnityEngine.Events.UnityEvent<PointerEventData> {} ;
public class PointerDownHandler : MonoBehaviour, IPointerDownHandler
{
public PointerEvent OnPointerDownEvent ;
public void OnPointerDown(PointerEventData data)
{
if( OnPointerDownEvent != null )
OnPointerDownEvent.Invoke( data ) ;
}
}
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class Area : MonoBehaviour
{
public PointerDownHandler PointerDownHandler;
private void Start()
{
OnPointerDownEvent.AddListener( OnPointerDown ) ;
}
public void OnPointerDown(PointerEventData data){ //some code...}
}