유니티의 편리한 점은 그냥 UI 단에서 연결만 해주면 잘 작동된다는 것이죠. 그런데 가끔은? 솔직히 자주 직접 하드코딩해줘야하는 경우가 생깁니다. 이럴때 저는 요렇게 사용합니다. AddListener 를 이용해서 호출할 함수를 지정해주면됩니다.


void CreateCustomButton()

{

     int id = 1;

     Button stage = Instantiate(fabStageButton, nextPosition, Quaternion.identity, scrollRect.content.transform);

     stage.onClick.AddListener(() => StageButtonClickListener(id));

}


void StageButtonClickListener(int stage)

{

     SceneManager.LoadScene("Stage" + stage.ToString());

}


요런방식의 장점은, 요렇게 여러 스테이지별로 버튼을 두고 각 버튼마다 이벤트를 등록해야 할 경우에 유용하게 사용할 수 있어요.



이상 AddListener를 이용하여 직접 함수를 호출 할수있게 구현하는 방법이었습니다.