Initial commit

This commit is contained in:
Nav
2021-04-04 21:04:12 +01:00
commit a29c5e1fec
549 changed files with 441216 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
#pragma once
#include <string>
#include <map>
#include <mutex>
#include "Events/Events.hpp"
#include "EventListener.hpp"
namespace Bloom
{
class EventManager
{
private:
/**
* A mapping of listener IDs to registered listeners. Each registered listener is given an interger ID.
*/
std::map<size_t, std::shared_ptr<EventListener>> registeredListeners;
std::mutex registerListenerMutex;
public:
/**
* Generates a new registered listener.
*
* @param listenerName
*/
void registerListener(std::shared_ptr<EventListener> listener);
void deregisterListener(size_t listenerId);
void triggerEvent(GenericEventPointer event);
};
}