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

Unity - 다른 객체들을 기반으로 특정 버튼의 기능을 설정하는 방법

by 코딩하는 돼징 2023. 7. 18.
반응형

 

1. 버튼 이름 가져오기

다른 객체들의 버튼들에 다 이 스크립트를 추가한다.

public class getButtonName : MonoBehaviour, IPointerClickHandler
{
    public static string button_name { get; private set; }
    public void OnPointerClick(PointerEventData eventData)
    {
        GameObject clickedButton = eventData.pointerCurrentRaycast.gameObject;
        button_name = clickedButton.name;
       Debug.Log("Clicked button name: " + button_name);
    }
}

2. 버튼 이름을 기반으로 해당 버튼에 대응하는 객체를 반환하는 메서드 설정

만약 One의 이름을 가진 버튼을 클릭했으면 Example의 객체인 OneButton이 반환된다.

public Example OneButton;
public Example twoButton;

private Example GetPlanetFromGameObject()
{
    if (getButtonName.button_name == "One")
    {
        return OneButton;
    }
    else if (getButtonName.button_name == "Two")
    {
        return twoButton;
    }
    return null;
}

3. 버튼이 클릭됐을때 호출되는 메서드 설정

public void ExampleButton()
{
    currentPlanetButton = GetPlanetButtonFromGameObject();
    if (currentPlanetButton != null)
    {
        Debug.Log(currentPlanetButton);
    }
}
반응형

댓글