#include "messagebus.h" #include "system.h" MessageBus::MessageBus() { } void MessageBus::registerSystem(SystemType type, System* system){ systems[type] = system; } void MessageBus::update() { while (!message_list.empty()){ Message* msg = message_list.front(); message_list.pop(); for(auto const &entity : systems){ entity.second->handleMessage(msg); } } } void MessageBus::postMessage(Message *msg) { message_list.push(msg); }