인프런 커뮤니티 질문&답변

강동훈님의 프로필 이미지
강동훈

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

UI 자동화 #3

헤메고 있어 질문드립니다.

작성

·

189

0

이런 식으로 질문드리는 게 문제라는 점을 알면서도 어디서부터 건드려야 할 지 감이 오지 않아 질문드립니다.

bind 함수에서 다른 유형은 문제 없는데 bind<Image>(typeof(Images)) 로 바인드 할 경우 문제가 발생합니다. 

디버그를 해보니

Bind<T>로 이동하여 typeof(T) == typeof(gameObject) 조건을 만족하지 않아 else 문 FindChild<T>로 이동합니다.

그 다음  go == null 조건 만족하지 않고 리커시브도 트루기에 맨 아래 foreach문으로 이동하는데 디버깅을 해보니go.GetComponentsInChildren<T>()을 가져온 component에 ItemIcon이 아닌 PointButton이 들어갑니다. 

이게 무슨 까닭으로 이리 되는 건지 가닥을 잡을 수 없어 장황하게 질문 남깁니다.

답변 2

0

강동훈님의 프로필 이미지
강동훈
질문자

감사합니다.

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

Bind<T>로 이동하여 typeof(T) == typeof(gameObject) 조건을 만족하지 않아 else 문 FindChild<T>로 이동합니다.

이건 정상적인 상황입니다. gameObject는 일반 GameObject만 찾기 위한 용도이고 나머지는 else로 가게 됩니다.
enum Images 안에 들어가 있는 값이 정말 이미지에 해당하는 애가 맞는지,
혹은 거꾸로 오브젝트를 만들 때 ItemIcon에 Image가 있는 것은 맞을지가 관건일 것 같습니다.
위에 2가지를 확인해보시고 그래도 모르시겠으면
rookiss@naver.com로 프로젝트를 압축해서 보내주시기 바랍니다.

강동훈님의 프로필 이미지
강동훈

작성한 질문수

질문하기