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 |