30 void post(
const Event &event)
const;
32 void subscribe(
const Event &event, std::function<
void()> &&func);
36 EventManager(EventManager &other) =
delete;
38 void operator=(
const EventManager &other) =
delete;
40 inline static Shared<EventManager> instance() {
41 if (s_pointer ==
nullptr) {
42 Shared<EventManager> copy(
new EventManager());
48 ~EventManager() =
default;
51 EventManager() =
default;
53 inline static Shared<EventManager> s_pointer =
nullptr;
55 std::unordered_map<EventType, std::vector<std::function<void()>>> m_events{};