![]() |
MIR Engine
미래 지향 설계에 초점을 맞춘 자체 제작 게임 엔진
|
이벤트를 큐에 축적하고, Dispatcher를 통해 이를 처리하는 역할을 수행하는 클래스 더 자세히 ...
#include <Announcer.hpp>
Public 멤버 함수 | |
Announcer ()=default | |
기본 생성자 | |
void | PublishEvent (const std::shared_ptr< Event > &event) |
이벤트를 큐에 추가하는 메서드 | |
void | ProcessEvents (Dispatcher &dispatcher) |
큐에 쌓인 이벤트를 처리하는 메서드 | |
이벤트를 큐에 축적하고, Dispatcher를 통해 이를 처리하는 역할을 수행하는 클래스
Announcer는 이벤트를 즉시 처리하지 않고, PublishEvent를 통해 일단 큐에 푸시. 이후 ProcessEvents를 호출하면 내부 큐의 이벤트들을 하나씩 꺼내 Dispatcher에 전달함.
|
default |
기본 생성자
초기 상태에서 이벤트 큐는 비어 있으며, 향후 PublishEvent를 통해 이벤트 누적.
void MIR::Announcer::ProcessEvents | ( | Dispatcher & | dispatcher | ) |
큐에 쌓인 이벤트를 처리하는 메서드
dispatcher | 이벤트를 실제로 처리할 Dispatcher 참조 |
큐에 적재된 이벤트들을 하나씩 꺼내 dispatcher로 전달하고, dispatcher는 해당 이벤트를 리스너들에게 알림. 이를 통해 이벤트 처리를 일정한 시점에 일괄 처리 가능.
void MIR::Announcer::PublishEvent | ( | const std::shared_ptr< Event > & | event | ) |
이벤트를 큐에 추가하는 메서드
event | 추가할 Event 객체의 shared_ptr |
게임 내에서 발생한 이벤트를 큐에 적재. 쌓인 이벤트들은 추후 ProcessEvents 호출 시 처리.