728x90

Event 시스템
📌Event: 객체와 객체 간에 주고 받는 형식
📌Entity Event System: MOD에서 이벤트 시스템을 쉽게 활용할 수 있도록 제공하는 API
- Event
- Handler
- Sender
LogEvent
📌우리가 이름을 붙이는 Event
👉🏻Event 생성 과정
- LogEvent 객체 생성
- LogEvent에 message property 생성
- myComponent 생성 및 Handler와 function 추가
👉🏻Log로 Event 주고받는 과정
- 자신이 엔티티 쪽으로 이벤트를 쏨
- 로그 이벤트 받겠다는 핸들러 → 자신의 엔티티 쪽으로 등록
핸들러 등록 구조
이벤트를 주고 받을 때
👉🏻같은 엔티티에서 이벤트를 주고 받을 때
- component1이 특정 타이밍에 의해 엔티티로 발송
- 로그 이벤트를 수신하겠다고 등록한 컴포넌트들에게 이벤트 발송
- 해당 컴포넌트들은 이벤트를 받아서 처리
👉🏻다른 엔티티에서 이벤트를 주고 받을 때
- 신호를 보내는 엔티티 쪽에서 component들이 이벤트 발송
- 받는 엔티티 쪽에서 신호를 받고 이벤트 수행
이벤트 처리
👉🏻이벤트 처리 순서
- 이벤트를 처리할 컴포넌트 & 엔티티 생성
- 핸들러 로직 추가
- 이벤트 발생 로직 추가
Entity
📌_SpawnService: 엔티티를 생성할 수 있는 함수
- SpawnByEntityTemplate
- SpawnByModelId
📌_EntityService: Destroy / Entity:Destroy: 엔티티를 삭제할 때 사용한다.
📌isvalid: 유효성을 체크한다.
728x90