Unity의 이벤트 버스 패턴은 객체가 구독하거나 게시할 수 있는 특정한 전역 이벤트의 목록을 관리하는 패턴이다. 옵저버 패턴과 유사하며 전역적으로 사용함으로써 접근이 더 편리하다.
Unity에서 이벤트 버스를 구성하는 스크립트는 총 3가지로 나뉘게 된다.
Subscriber
: 특정한 전역 이벤트를 이벤트 버스에 등록하는 역할이다.Event Bus
: Publisher
와 Subscriber
사이에서 이벤트를 관리하고 전달하는 역할이다.Publisher
: Event Bus
에 등록된 이벤트를 사용하는 역할이다.Unity를 이용하여 간단한 테트리스 개발한다고 생각해보자. 테트리스의 일련의 과정은 다음과 같다.
그렇다면 우리는 특정한 전역 이벤트를 START, PLAYING, OVER 이 정도로 구분할 수 있을 것이다.
그렇다면 어떤 이벤트가 시작될지 Subscriber
로부터 Event Bus
에 구독하고 각각의 시작, 진행, 종료에 Publisher
가 Event Bus
로부터 이벤트를 실행하면 된다.