Improved register written event
This commit is contained in:
@@ -21,3 +21,15 @@ void EventManager::triggerEvent(const std::shared_ptr<const Events::Event>& even
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool EventManager::isEventTypeListenedFor(Events::EventType eventType) {
|
||||
auto registerListenersLock = std::unique_lock(this->registerListenerMutex);
|
||||
|
||||
for(auto const& [listenerId, listener] : this->registeredListeners) {
|
||||
if (listener->isEventTypeRegistered(eventType)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -54,5 +54,13 @@ namespace Bloom
|
||||
* @param event
|
||||
*/
|
||||
void triggerEvent(const Events::SharedGenericEventPointer& event);
|
||||
|
||||
/**
|
||||
* Checks if any registered listener is listening for a particular event type.
|
||||
*
|
||||
* @param eventType
|
||||
* @return
|
||||
*/
|
||||
bool isEventTypeListenedFor(Events::EventType eventType);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Bloom::Events
|
||||
static inline EventType type = EventType::REGISTERS_WRITTEN_TO_TARGET;
|
||||
static inline const std::string name = "RegistersWrittenToTarget";
|
||||
|
||||
Targets::TargetRegisterDescriptors descriptors;
|
||||
Targets::TargetRegisters registers;
|
||||
|
||||
[[nodiscard]] EventType getType() const override {
|
||||
return RegistersWrittenToTarget::type;
|
||||
|
||||
Reference in New Issue
Block a user