Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
EventManager.h
Go to the documentation of this file.
1#pragma once
2
3// DEPRECATED: EventManager has been replaced by EventQueue with ECS consumer systems
4// This stub exists only for legacy GameObject-based code compatibility
5// DO NOT USE in new code - use EventQueue and consumer systems instead
6
7#include "message.h"
8#include <functional>
9
10// Legacy EventManager stub for backwards compatibility with non-critical legacy code
11// (AI_Player, ObjectFactory, PanelManager, etc.)
12// These systems are being phased out in favor of ECS architecture
14{
15public:
17 using Listener = std::function<void(const Message&)>;
18
21
22 // Singleton accessor
24 {
26 return instance;
27 }
28 static EventManager& Get() { return GetInstance(); }
29
30 // Stub methods - do nothing (legacy code only)
31 void AddMessage(const Message& msg) { /* deprecated - no-op */ }
32 void DispatchImmediate(const Message& msg) { /* deprecated - no-op */ }
33 void Process() { /* deprecated - no-op */ }
34
35 void Register(void* owner, EventType type, Listener callback) { /* deprecated - no-op */ }
36
37 template<typename T>
38 void Register(T* owner, EventType type) { /* deprecated - no-op */ }
39
40 void Unregister(void* owner, EventType type) { /* deprecated - no-op */ }
41 void UnregisterAll(void* owner) { /* deprecated - no-op */ }
42};
ComponentTypeID GetComponentTypeID_Static()
Definition ECS_Entity.h:56
void Unregister(void *owner, EventType type)
void Register(void *owner, EventType type, Listener callback)
static EventManager & Get()
std::function< void(const Message &)> Listener
void UnregisterAll(void *owner)
void AddMessage(const Message &msg)
::Message Message
void Register(T *owner, EventType type)
void DispatchImmediate(const Message &msg)
static EventManager & GetInstance()
EventType