본문 바로가기
유니티 공부/Unity

Unity - UnityEngine.EventSystems Interfaces 설명

by 코딩하는 돼징 2023. 9. 26.
반응형

UnityEngine.EventSystems 네임스페이스에 있는 인터페이스들은 Unity에서 이벤트 시스템을 통해 UI 요소와 상호작용하기 위한 메서드를 정의하는 데 사용된다. 각 인터페이스는 특정한 이벤트 유형을 처리하는 메서드를 정의하므로, 필요한 이벤트 처리 동작을 구현할 때 해당 인터페이스를 구현하고 메서드를 작성하면 됩니다.

 

IPointerClickHandler

UI요소가 클릭되었을 때 호출되는 콜백 함수를 정의

public interface IPointerClickHandler : IEventSystemHandler
{
    void OnPointerClick(PointerEventData eventData);
}

예시

using UnityEngine;
using UnityEngine.EventSystems;

public class ClickHandler : MonoBehaviour, IPointerClickHandler
{
    public void OnPointerClick(PointerEventData eventData)
    {
        Debug.Log("UI 요소가 클릭되었습니다.");
    }
}

IBeginDragHandler

UI요소에서 드래그가 시작될 때 호출되는 콜백함수

public interface IBeginDragHandler : IEventSystemHandler
{
    void OnBeginDrag(PointerEventData eventData);
}

예시

using UnityEngine;
using UnityEngine.EventSystems;

public class DragHandler : MonoBehaviour, IBeginDragHandler
{
    public void OnBeginDrag(PointerEventData eventData)
    {
        Debug.Log("드래그가 시작되었습니다.");
    }
}

ICancelHandler

UI요소에서 작업이 취소될떄 호출되는 콜백 함술를 정의한다. 예를 들어 텍스트 입력 상자에서 사용자가 글을 작성중에 ESC키를 누르거나 취소 버튼을 클릭하는 것이다.

public interface ICancelHandler : IEventSystemHandler
{
    void OnCancel(BaseEventData eventData);
}

IDeselectHandler

UI요소가 선택 해제 될떄 호출되는 콜백함수를 정의한다.

public interface IDeselectHandler : IEventSystemHandler
{
    void OnDeselect(BaseEventData eventData);
}

예제

using UnityEngine;
using UnityEngine.EventSystems;

public class DeselectHandler : MonoBehaviour, IDeselectHandler
{
    public void OnDeselect(BaseEventData eventData)
    {
        Debug.Log("UI 요소 선택이 해제되었습니다.");
    }
}

IDragHandler

UI요소가 드래그될 때 호출되는 콜백함수이다.

public interface IDragHandler : IEventSystemHandler
{
    void OnDrag(PointerEventData eventData);
}

예제

using UnityEngine;
using UnityEngine.EventSystems;

public class DragHandler : MonoBehaviour, IDragHandler
{
    public void OnDrag(PointerEventData eventData)
    {
        Debug.Log("UI 요소가 드래그되고 있습니다.");
    }
}

IMoveHandler

UI요소에서 드래그가 시작될 가능성이 있을 때 호출되는 콜백함수를 정의한다.

public interface IMoveHandler : IEventSystemHandler
{
    void OnMove(AxisEventData eventData);
}

예제

using UnityEngine;
using UnityEngine.EventSystems;

public class MoveHandler : MonoBehaviour, IMoveHandler
{
    public void OnMove(AxisEventData eventData)
    {
        Debug.Log("UI 요소가 이동 중입니다.");
    }
}

IPointerDownHandler

UI요소에서 포인터 버튼이 눌렸을때 호출되는 콜백 함수를 정의한다. 포인터는 일반적으로 컴퓨터 사용자 인터페이스에서 입력장치를 나타낸다. 

public interface IPointerDownHandler : IEventSystemHandler
{
    void OnPointerDown(PointerEventData eventData);
}

예제

using UnityEngine;
using UnityEngine.EventSystems;

public class PointerDownHandler : MonoBehaviour, IPointerDownHandler
{
    public void OnPointerDown(PointerEventData eventData)
    {
        Debug.Log("UI 요소에서 포인터 버튼이 눌렸습니다.");
    }
}

IPointerEnterHandler

UI요소에 포인터가 진입할 때 호출되는 콜백 함수를 정의한다.

public interface IPointerEnterHandler : IEventSystemHandler
{
    void OnPointerEnter(PointerEventData eventData);
}

예제

using UnityEngine;
using UnityEngine.EventSystems;

public class PointerEnterHandler : MonoBehaviour, IPointerEnterHandler
{
    public void OnPointerEnter(PointerEventData eventData)
    {
        Debug.Log("UI 요소에 포인터가 진입했습니다.");
    }
}

IPointerExitHandler

UI요소에서 포인터가 나갈 때 호출되는 콜백 함수를 정의한다.

public interface IPointerExitHandler : IEventSystemHandler
{
    void OnPointerExit(PointerEventData eventData);
}

예제

using UnityEngine;
using UnityEngine.EventSystems;

public class PointerExitHandler : MonoBehaviour, IPointerExitHandler
{
    public void OnPointerExit(PointerEventData eventData)
    {
        Debug.Log("UI 요소에서 포인터가 나갔습니다.");
    }
}

IPointerUpHandler

UI요소에서 포인터 버튼이 떼어질 때 호출되는 콜백 함수를 정의한다.

public interface IPointerUpHandler : IEventSystemHandler
{
    void OnPointerUp(PointerEventData eventData);
}

예제

using UnityEngine;
using UnityEngine.EventSystems;

public class PointerUpHandler : MonoBehaviour, IPointerUpHandler
{
    public void OnPointerUp(PointerEventData eventData)
    {
        Debug.Log("UI 요소에서 포인터 버튼이 떼어졌습니다.");
    }
}

IScrollHandler

UI요소에서 스크롤 이벤트가 발생했을때 호출되는 콜백 함수이다.

public interface IScrollHandler : IEventSystemHandler
{
    void OnScroll(PointerEventData eventData);
}

ISelectHandler

UI요소가 선택되었을때 호출되는 콜백함수이다.

public interface ISelectHandler : IEventSystemHandler
{
    void OnSelect(BaseEventData eventData);
}

ISubmitHandler

UI요소에서 Submit 이벤트가 발생했을때 호출되는 콜백 함수이다. 예를 들어 텍스트 입력 필드에서 엔터 키를 누를 때 또는 버튼을 클릭하여 양식을 제출할 때 호출된다.

public interface ISubmitHandler : IEventSystemHandler
{
    void OnSubmit(BaseEventData eventData);
}

IUpdateSelectedHandler

UI요소가 업데이트되어 선택 상태가 변겨오딜 때 호출되는 콜백 함수를 정의한다.

public interface IUpdateSelectedHandler : IEventSystemHandler
{
    void OnUpdateSelected(BaseEventData eventData);
}

 

 

 

 

 

 

 

 

 

반응형

댓글