1#ifndef AlarmableManager_H
2#define AlarmableManager_H
22 enum class ALARM_ID { ALARM_0, ALARM_1, ALARM_2 };
46 AlarmableManager() =
default;
47 AlarmableManager(
const AlarmableManager&) =
delete;
48 AlarmableManager& operator=(
const AlarmableManager&) =
delete;
Base class for objects that can have alarms triggered in the game loop.
Definition Alarmable.h:19
void Register(Alarmable *al, ALARM_ID id, float t)
Registers an alarm for a GameObject.
Definition AlarmableManager.cpp:11
static const int ALARM_NUMBER
The number of alarms.
Definition AlarmableManager.h:27
std::pair< Alarmable *, ALARM_ID > AlarmEvent
Type alias for the alarm event pair.
Definition AlarmableManager.h:33
void ProcessAlarms()
Processes all alarms; triggers and removes expired alarms.
Definition AlarmableManager.cpp:21
TimeLineMap timeline
The timeline map of alarms.
Definition AlarmableManager.h:43
ALARM_ID
Enum class representing the alarm IDs.
Definition AlarmableManager.h:22
std::multimap< float, AlarmEvent > TimeLineMap
Type alias for the timeline map of alarms.
Definition AlarmableManager.h:38
TimeLineMap::iterator StorageMapRef
Type alias for the storage map iterator.
Definition AlarmableManager.h:74
void Deregister(Alarmable *al, ALARM_ID id)
Deregisters an alarm for a GameObject.
Definition AlarmableManager.cpp:16