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);
}
'유니티 공부 > Unity' 카테고리의 다른 글
Unity - TextMeshPro 글씨체 추가하기, 한글 깨짐 (1) | 2023.11.06 |
---|---|
Unity - GraphicRaycaster(2D), Physics.Raycast(3D) (0) | 2023.10.31 |
Unity - PointerEventData class (0) | 2023.09.26 |
Unity - PlayerPrefs 설명 및 이용해서 게임 저장해보기 (0) | 2023.09.20 |
Unity - 카메라로 씬에 있는 게임 오브젝트 조작하기 (0) | 2023.09.20 |
댓글