유니티에서 제공하는 기본 함수이다. 위의 함수의 기능은, 자신과 자신의 객체들에서 특정 Component를 찾아서 배열로 반환해준다.
"왜, 이 함수 하나만을 따로 정리하는가?"
우선 개발은 언제든지 발생 가능한, 모든 오류 상황에 대비할 필요가 있다. 그런 면에 있어서 위의 GetComponentsInChildren는 사용에 주의할 필요가 있다고 생각된다.
GetComponentsInChildren의 반환
간단히 설명하면, GetComponentsInChildren의 반환 값은 항상 일정한 값의 반환을 보장하지 않는다.
아래의 내용을 통해서 GetComponentsInChildren의 반환에 대해 살펴 보겠다.
"반환 값인 배열, 그렇다면 해당 배열에 Component들이 어떤 순서로 들어갈까?"
newArray = GetComponentsInChildren<T>();
//예 : 자신 - 자식(1) - (자식2)...
위와 같이 작성한 후에 반복적으로 실행해도, 결과는 정확히 일치할 것이다.
단, 항상 그렇다는 것은 아니다. 항상 그렇지 않다는 것은, 현재의 GetComponent의 실행 결과가 유니티의 업데이트나 버전에 따른 차이가 생길 수 있기 때문이다.
마무리하며
안 좋고, 쓰지 말아야 한다는 것이 아닌, 쓸 때는 주의할 필요가 있다는 것을 명심했으면 한다. 언제 자신이 만든 기능이 제대로 동작하지 않을 수 있기 때문이다.
공식 문서에서도 반환되는 배열의 순서는 언급되어 있지않다.
지금은 위의 예시와 같은 결과를 반환해주고 있다.
GetComponentsInChildren 구현
GetComponentsInChildren GetComponentsInChildren유니티에서 제공하는 기본 함수이다. 위의 함수의 기능은, 자신과 자신의 객체들에서 특정 Component를 찾아서 배열로 반환해준다."왜, 이 함수 하나만을 따로
fore4022.tistory.com
작성 날짜 : 2024.10.11
'유니티 > 개념 정리' 카테고리의 다른 글
| 실행 결과 보장 (0) | 2024.10.21 |
|---|---|
| Non-MonoBehaviour (0) | 2024.10.14 |
| MonoBehaviour (0) | 2024.10.10 |
| UI 사이의 Event 전달 (0) | 2024.10.07 |
| EventSystem (0) | 2024.10.07 |