Removed unnecessary use of std::string for event management, in an attempt to reduce memory consumption.

Now using 16 bit enums for event types.
This commit is contained in:
Nav
2021-08-19 22:06:59 +01:00
parent 11415ce99a
commit 3554960a19
42 changed files with 336 additions and 72 deletions

View File

@@ -14,10 +14,9 @@ void EventManager::deregisterListener(size_t listenerId) {
void EventManager::triggerEvent(const std::shared_ptr<const Events::Event>& event) {
auto registerListenersLock = std::unique_lock(this->registerListenerMutex);
for(auto const& [listenerId, listener] : this->registeredListeners) {
auto registeredEventTypes = listener->getRegisteredEventTypeNames();
if (registeredEventTypes.contains(event->getName())) {
for(auto const& [listenerId, listener] : this->registeredListeners) {
if (listener->isEventTypeRegistered(event->getType())) {
listener->registerEvent(event);
}
}