30 lines
494 B
C++
30 lines
494 B
C++
#include <extra2d/event/EventBus.h>
|
|
|
|
namespace extra2d {
|
|
|
|
EventBus* EventBus::instance_ = nullptr;
|
|
|
|
EventBus::EventBus() {}
|
|
|
|
EventBus::~EventBus() {
|
|
clear();
|
|
}
|
|
|
|
EventBus* EventBus::getInstance() {
|
|
if (!instance_) {
|
|
instance_ = new EventBus();
|
|
}
|
|
return instance_;
|
|
}
|
|
|
|
void EventBus::clear() {
|
|
for (auto& pair : listeners_) {
|
|
for (auto& entry : pair.second) {
|
|
delete entry.listener;
|
|
}
|
|
}
|
|
listeners_.clear();
|
|
}
|
|
|
|
} // namespace extra2d
|