malena
Why malena
Quick start
Tutorials
API docs
GitHub
GitHub
Tutorials
Loading...
Searching...
No Matches
ECS
Core
EventManagerECS.h
Go to the documentation of this file.
1
//
2
// Created by Dave Smith on 3/11/25.
3
//
4
5
#ifndef EVENTMANAGERECS_H
6
#define EVENTMANAGERECS_H
7
8
#pragma once
9
10
#include <functional>
11
#include <queue>
12
#include <unordered_map>
13
namespace
ml
14
{
19
class
EventManagerECS
20
{
21
private
:
22
std::queue<std::function<void()>> eventQueue;
// Queue of events to process
23
24
public
:
25
void
pushEvent
(
const
std::function<
void
()> &event)
26
{
27
eventQueue.push(event);
// Add event to queue
28
}
29
30
void
processEvents
()
31
{
32
while
(!eventQueue.empty())
33
{
34
eventQueue.front()();
// Execute event
35
eventQueue.pop();
// Remove event from queue
36
}
37
}
38
};
39
}
40
41
#endif
// EVENTMANAGERECS_H
ml::EventManagerECS
EventManagerECS.
Definition
EventManagerECS.h:20
ml::EventManagerECS::processEvents
void processEvents()
Definition
EventManagerECS.h:30
ml::EventManagerECS::pushEvent
void pushEvent(const std::function< void()> &event)
Definition
EventManagerECS.h:25
ml
Definition
Component.h:18
Generated by
1.16.1