2023.02.25 - [유니티/DOTS] - Entities - 컴포넌트 구조
RequireMatchingQueriesForUpdate
Entites에는
RequireMatchingQueriesForUpdate 라는 어트리뷰트가 존재한다.
이걸 시스템에 달아주고, ISystem이나 SystemBase를 상속한 class/struct의 OnCreate에
위 두 가지 메서드를 호출해주면 해당 시스템은 매칭되는 Entity가 있을 경우에만 업데이트 된다.
위와 같은 방식으로 쓴다.
Dependency
Entities 샘플 코드를 보다 보면 위와 같이 dependency 설정을 해주는 코드들이 많다.
SystemState는 현재 월드의 상태가 전달된다고 보면 된다.
여기서 state.Dependency는 현재 월드에서 다른 job들이 사용 중인 component dependency를 포함한다. 이걸 Job의 Schedule에 넘겨주면, Job은 현재 의존성을 보고 작업을 수행할지 대기할지를 결정한다.
Schedule의 Return값은 수행할 Job의 Dependency를 기존과 조합한 새로운 Dependency이다. 이를 다시 state.Dependency에 저장해 줘서 다른 System이 사용할 수 있도록 하는 것.
'게임엔진 > DOTS' 카테고리의 다른 글
2D Sprite Animation (0) - 레퍼런스 조사 (0) | 2023.03.19 |
---|---|
Unity.Physics에 가속도와 힘 구현해보기 - 2 (1) | 2023.03.12 |
Entities - 컴포넌트 구조 (0) | 2023.02.25 |
Unity.Physics에 가속도와 힘 구현해보기 - 1 (1) | 2023.02.18 |
Physics 1.0 써보기 (1) | 2023.02.10 |