Unity/Unity 리서치

Inactive된 자손 포함 전체 검색

lipnus 2021. 11. 30. 00:23
반응형

1.

trasform.Find("GameObject이름").GetComponent<>();

로 하면 Inactive되어 있더라도 찾아진다.

 

2.

특정 오브젝트의 자손을 모두 삭제하는 코드

private void RemoveAllCards() {
        var child = contents.transform.GetComponentsInChildren<Transform>();

        foreach (var iter in child) {
            if(iter != contents) {
                Destroy(iter.gameObject);
            }
        }
    }

위 코드는 자손 중 Inactive된 GameObject는 찾지 못한다.

 

 

Solution

var child = contents.transform.GetComponentsInChildren<Transform>(true);

매개변수로 true를 넣으면 Inactive된 것까지 찾아진다.

반응형