UI 자동화 (2)

개발조하·2023년 12월 28일
0

Unity

목록 보기
15/30
post-thumbnail

1. GameObject 맵핑하기

1.1 오류 발생

앞선 포스팅에서처럼 Button이나 Text 컴포넌트를 Bind()함수로 찾아 맵핑시켰듯,
GameObject도 맵핑시켜 꺼내쓰고자 한다.
하지만, 이 상태로 실행하면 아래와 같은 오류 메시지가 뜬다. ㄴ GetComponent 또는 GetComponentsInChildren 메서드는 MonoBehaviour나 Component를 상속받는 클래스, 또는 인터페이스에 대해서만 사용할 수 있는데, TestObject는 컴포넌트를 상속받고 있지 않아 발생하는 오류이다.
-> 즉, GameObject를 맵핑할 수 있는 별도의 FindChild()를 만들어줘야 한다.

1.2 GameObject용 FindChild() 생성

ㄴ 기존 FindChild()는 T에 '컴포넌트'를 넣어서 찾았는데, GameObject는 컴포넌트가 아니여서 못찾고 있는 것!

💡 GameObject를 맵핑해주는 GameObject 버전의 FindChild() 생성

-> 이제 실행하면 오류없이 잘 진행되는 것을 확인할 수 있다.

2. 자주 사용하는 컴포넌트 Get() 메서드화

3. UI 공용 UI_Base 클래스 생성

Bind(), Get() 메서드는 UI_Button뿐만 아니라 모든 UI가 사용할 수 있는 메서드이다.
이를 UI_Base 클래스를 생성하여 관리하면 좋다.

📄참고자료
[인프런] c#과 유니티로 만드는 MMORPG 게임 개발 시리즈_3.유니티 엔진

profile
Unity 개발자 취준생의 개발로그, Slow and steady wins the race !

0개의 댓글