Unity Tip

커스텀 버튼 만들기

dnrkckzk 2020. 11. 11. 17:48

UGUI에서 버튼이 가지고 있는 이벤트를 커스텀으로 구현할 수 있게 만들어 주는 기능.

 

using UnityEngine.UI;

using UnityEngine.EventSystems;

using UnityEngine.Events;

 

public class CustomButton : Selectable, IPointerClickHandler

{
    public UnityEvent onClick = new UnityEvent();

 

    public void OnPointerClick(PointerEventData eventData)
    {
        if (!interactable)
            return;
        onClick?.Invoke();
    }

 

    protected override void OnDestroy()
    {
        onClick.RemoveAllListeners();
    }

}

 

이런 식의 형태로 쓰고 필요한 변수를 추가해서 연결한다. 이러면 다른 스크립트에서

 

CustomButton.onClick.AddListener를 사용해서 이벤트를 붙이는데 활용할 수 있다.

 

말 그대로 UGUI버튼 처럼 사용 가능.