Wraith  0.1.5
Basic 3D game engine in C++
AlarmableManager Class Reference
Collaboration diagram for AlarmableManager:
Collaboration graph

Public Types

typedef TimeLine::iterator TimeLineReference
 

Public Member Functions

 AlarmableManager (const AlarmableManager &)=delete
 
AlarmableManageroperator= (const AlarmableManager &)=delete
 
 AlarmableManager (AlarmableManager &&)=delete
 
AlarmableManageroperator= (AlarmableManager &&)=delete
 
void registerAlarmWithDelayTime (Alarmable *pAlarmable, const float timeDelay, AlarmID alarmID)
 Registers an Alarmable entity for an alarm with delay time More...
 
void deregisterAlarm (Alarmable *pAlarmable, AlarmID alarmID)
 Deregisters an Alarmable entity for an alarm More...
 
void processAlarms ()
 Process the registered alarms. More...
 
Time getTriggerTime (const TimeLineReference &currentAlarmIterator) const
 
void triggerAndRemoveAlarm (const TimeLineReference &currentAlarmIterator)
 

Static Public Attributes

static const int MAX_NUMBER_OF_ALARMS = 3
 

Private Types

typedef float Time
 
typedef std::pair< Alarmable *, AlarmIDAlarmEvent
 
typedef std::multimap< Time, AlarmEvent > TimeLine
 

Private Member Functions

void debugPrintTriggerAlarmsBanner ()
 

Private Attributes

TimeLine _alarmTimeLineMap
 

Member Function Documentation

◆ deregisterAlarm()

void AlarmableManager::deregisterAlarm ( Alarmable pAlarmable,
AlarmID  alarmID 
)

Deregisters an Alarmable entity for an alarm

Parameters
pAlarmablethe alarmable entity.
alarmIDIdentifier for the alarm.

◆ processAlarms()

void AlarmableManager::processAlarms ( )

Process the registered alarms.

Called only by the current Scene in Scene::Update().

◆ registerAlarmWithDelayTime()

void AlarmableManager::registerAlarmWithDelayTime ( Alarmable pAlarmable,
const float  timeDelay,
AlarmID  alarmID 
)

Registers an Alarmable entity for an alarm with delay time

Parameters
pAlarmablea alarmable entity.
timeDelayThe time delay.
alarmIDIdentifier for the alarm.

The documentation for this class was generated from the following files: