반응형
Zenject Binding 을 사용하여 컴포넌트 바인딩하기
ZenjectBinding 을 사용하면 스크립트에서 GameObject.Find() 라든지, MonoBehaviour를 상속받은 클래스에서 인스펙터에 수동으로 드래그 해서 바인딩한다든지 하지 않고, DI(Dependency Injection)을 이용하여 ID를 이용해서 바로 사용할 수 있다.
하이어라키에 Image 컴포넌트가 붙은 FrontBlackPanel이라는 게임오브젝트가 있다
해당 게임오브젝트에 Add Component 버튼을 클릭하여 ZenjectBinding 컴포넌트를 추가 후, Components 에 해당 Image 컴포넌트를 바인딩 시켜준다. 그래고 Identifier 를 자기가 원하는 문자열로 지정해준다. 필자의 경우 FrontBlackPanel 이라고 지정했다. Use Scene Context를 체크하면 해당 씬의 씬콘텍스트를 사용하겠다는 의미이고, 체크를 해제한 후 Context 옵션에 원하는 콘텍스트를 바인딩하면 된다.
사용하고 싶은 스크립트에서 [Inject(ID = "FrontBlackPanel")] 애트리뷰트를 사용해서 저렇게 선언을 하면 바로 사용가능하다. 혹시라도 Image 컴포넌트가 씬에 하나밖에 없다면(?) ID를 생략하고 [Inject] 만 써도 된다.
반응형
반응형