Unity

Zenject Service 사용법

Dean83 2022. 3. 24. 22:38

 1. Zenject_and_Service  
    - Zenject 스크립트 및 dll 등 필요

      1.1. 서비스 생성
           - interface 생성 및 함수 정의
           - interface 구현 클래스 생성

1. 인터페이스 스크립트 : 

public interface 인터페이스 명
{
   리턴형 함수명(인자값);
   자료형 변수명;

}


2. 인터페이스 구현 스크립트:

public class 클래스명 : 인터페이스 명
{
   public 자료형 변수명;
  
   public 리턴형 함수명(인자값)
   {
   }
}

     1.2. 서비스 구성
           - ProjectContextInstaller 스크립트 : MonoInstaller<ProjectContextInstaller> 상속                     

 public override void InstallBindings() 
{
        // 추가할 서비스 등록
        var 변수명 = new 인터페이스 구현 클래스();
		Container.Bind<인터페이스>().FromInstance(인터페이스 구현 클래스).AsSingle();
}

    1.3. 사용
           - Zenject 사용을 위해 각씬 Hierarchy -> 마우스 우클릭 -> Zenject -> Scene Context 추가
           - 어플리케이션의 Project -> Assets -> Resources -> ProjectContext.prefab이 있어야 함
              => 1.1. 에서 명시한 ProjectContextInstaller 가 포함된 Prefab임
           - 사용할 스크립트에서, [Inject]를 통해 서비스 instance 받아오기

[Inject]
public void 함수명(서비스명 변수명)
{
   맴버변수명 = 변수명;
   을 통해 서비스를 상속 받고, 맴버변수를 통해 서비스 이용
}

* 맴버변수 자료형은 인터페이스 스크립트에 작성한 인터페이스 명


 

'Unity' 카테고리의 다른 글

소셜 로그인 연동  (0) 2022.03.24
mp3 -> wav 변환  (0) 2022.03.24
Zenject Factory 사용법  (0) 2022.03.24
UI Template 사용법  (7) 2022.03.24
코드난독화 어셋 사용법  (0) 2022.03.24