• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

foreach문을 이용해서 child에 접근하는 부분이 이해가 가지 않습니다.

21.08.20 15:41 작성 조회수 253

0

  public override void Init()

    {

        base.Init();

        Bind<GameObject>(typeof(GameObjects));

        GameObject gridPanel = Get<GameObject>((int)GameObjects.GridPanel);

        foreach (Transform child in gridPanel.transform)

        {

            Managers.Resource.Destroy(child.gameObject);

        }

    }

요런형태로  child들을 다 삭제할 수 있었는데, 이해가 안되는 부분은 어떻게 child에 접근할 수 있었는지가 이해가 안됩니다.

foreach를 통해 접근한 gridPanel.transform은 패널 자체의 transform을 접근한 것 아닌가요?? 왜 패널이 아닌 그아래의 child들이 foreach를 통해 삭제되는지 잘모르겠습니다..

답변 1

답변을 작성해보세요.

0

음 바로 답변 드릴 수도 있지만,
숙제를 내드리는 것이 날 것 같네요.

아무 클래스 (ex. Knight)를 대상으로 foreach가 동작하기  위해서
무엇 무엇을 추가해야 하는지 조사를 해보시기 바랍니다.
그렇다면 Transform도 foreach를 대상으로 
그 무엇무엇을 했기 때문에 그렇게 동작한다는 것을 알 수 있겠죠.

adsf2235님의 프로필

adsf2235

질문자

2021.08.21

IEnumerable 과 IEnumerator 같은데 이해하기가 너무 어렵습니다 ..ㅠㅠ