inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

UI_Inven에서 Bind시 오류가 발생합니다

해결된 질문

1365

1O1D

작성한 질문수 2

0

UI_Inven에서
Bind<GameObject>(typeof(GameObjects));를 할 때 오류가 떠서 breakpoint를 잡아보니
 
 
이 부분의 foreach문 에서 오류가 발생합니다
 
ArgumentException: GetComponent requires that the requested component 'GameObject' derives from MonoBehaviour or Component or is an interface.
UnityEngine.GameObject.GetComponentsInChildren[T] (System.Boolean includeInactive) (at <4a31731933e0419ca5a995305014ad37>:0)
UnityEngine.GameObject.GetComponentsInChildren[T] () (at <4a31731933e0419ca5a995305014ad37>:0)
Util.FindChild[T] (UnityEngine.GameObject go, System.String name, System.Boolean recursive) (at Assets/Scripts/Utils/Util.cs:43)
UI_Base.Bind[T] (System.Type type) (at Assets/Scripts/UI/UI_Base.cs:23)
UI_Inven.Init () (at Assets/Scripts/UI/PopUp/UI_Inven.cs:21)
UI_Inven.Start () (at Assets/Scripts/UI/PopUp/UI_Inven.cs:14)
 
Bind할 때 GameObject가 아닌 Transform으로 Bind를 해보니 오류 없이 정상적으로 작동했습니다
해결은 했지만 강의에서는 GameObject를 받아서 잘 되었는데 저는 안 되는 건지 궁금해서 질문을 남겨봤습니다.. 강의랑 버젼이 달라서 그런 것인가요??

UI_Inven unity C#

답변 1

0

Rookiss

ArgumentException: GetComponent requires that the requested component 'GameObject' derives from MonoBehaviour or Component or is an interface.

버전 문제가 아니고 원래 잘못된게 맞습니다.
GameObject는 Component가 아니고 
실제 부품을 조립하는 완성본 대상입니다.
Bind를 할 때 GameObject 타입이면 다른 루트로 향하게  if-else 처리가 되어 있어서
이쪽까지 들어오지 않아야 정상입니다.

0

1O1D

 

강사님 말씀을 듣고 코드를 수정해보니 작동을 하네요 감사합니다..

그런데 T를 GameObject로 받아도 이런 식으로 처리를 해주지 않으면 안 되는 건가요?

FindChild<T> 코드에 T가 GameObject일 경우 FindChild로 들어가게 하면 해결되는 건가요?

0

Rookiss

FindChild<T>는 [T라는 부품을 가진 name이라는 이름의 GameObject을 찾는] 기능이고
FindChild는 [name이라는 이름의 GameObject를 찾는] 기능이라 그렇습니다.

0

1O1D

답변 감사드립니다!

UI 기능 관련 질문이 있습니다!

0

37

2

픽셀 좌표 스크린 좌표

0

33

0

전체적으로 코드 읽는게 굉장히 오래 걸리네요...

0

74

2

카메라 #2 수업 캐릭터 쓰러짐 해결

0

84

1

플레이어 움직임이 끝날때, 기울어짐 현상

0

83

1

Input 적용과 관련하여 질문 있습니다.

0

75

1

디버그 불가.. Unity에 연결 불가

0

82

1

달리기 애니메이션 에러

0

89

2

오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다

0

66

1

GetKey 오류

0

109

2

에셋을 어디에 올려두신지 알 수 있나요?

0

107

1

재귀호출? 오류나는데 왜 이래요 ?

0

169

6

Animation blending 파라미터 계산

0

68

1

newPos와 to지점이 겹쳐져야 하는거 아닌가요?

0

97

3

오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다

0

88

2

질문있습니다

0

143

2

아 이거 소스코드 같은거 없나요?

0

142

3

질문 드립니다. string.IsNullOrEmpty(name)

0

87

2

@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?

0

136

2

유니티6 NavMesh 안되는분들

1

176

1

Unity6 Unity-Chan Material 마젠타 문제 해결법

7

527

1

GetComponent<Poolable> 질문드립니다.

0

102

2

UI 불러오지 못함

0

119

2

UI 자동화 #1 - Util.cs의 FindChild함수에서 component.name에 컴포넌트 이름이 뜹니다.

0

155

2