Ketchup Engine
Loading...
Searching...
No Matches
Alarm Class Referenceabstract

#include <Alarm.h>

Inheritance diagram for Alarm:
Inheritance graph
Collaboration diagram for Alarm:
Collaboration graph

Public Member Functions

 Alarm ()
 
 Alarm (const Alarm &)=delete
 
Alarmoperator= (const Alarm &)=delete
 
virtual ~Alarm ()
 
virtual void AlarmBehavior ()=0
 Alarm behavior to be overridden by the user.
 
bool isRegisteredOrPending ()
 Query if this object is registered to a Scene or pending.
 
void SubmitRegistration (float sec)
 Submit alarm registration to the currently active Scene.
 
void SubmitRegistrationRepeat (float sec, int repeat)
 Submit repeating alarm registration to the currently active Scene.
 
void SubmitRegistrationTime (float period, float length)
 Submit repeating alarm registration to the currently active Scene.
 
void SubmitDeregistration ()
 Submit alarm deregistration from the currently active scene.
 
float GetTimeToTrigger ()
 Gets time until the alarm triggers.
 
- Public Member Functions inherited from Command
 Command ()=default
 
 Command (const Command &)=delete
 
Commandoperator= (const Command &)=delete
 
virtual ~Command ()
 
virtual void Execute ()
 Executes this command's behavior.
 

Protected Attributes

int m_repeat
 

Private Member Functions

void RegisterToScene (float sec)
 
void DeregisterFromScene ()
 
virtual void TriggerAlarm ()
 
AlarmManager::TimelineRef GetDeregRef ()
 
void SetDeregRef (AlarmManager::TimelineRef ref)
 

Private Attributes

float m_period
 
float m_triggerTime
 
RegistrationState m_regState
 
AlarmManager::TimelineRef m_deregRef
 
AlarmRegistrationCommandp_regCmd
 
AlarmDeregistrationCommandp_deregCmd
 

Friends

class AlarmAttorney
 

Constructor & Destructor Documentation

◆ Alarm() [1/2]

Alarm::Alarm ( )

◆ Alarm() [2/2]

Alarm::Alarm ( const Alarm )
delete

◆ ~Alarm()

Alarm::~Alarm ( )
virtual

Member Function Documentation

◆ AlarmBehavior()

virtual void Alarm::AlarmBehavior ( )
pure virtual

Alarm behavior to be overridden by the user.

Haru, 3/8/2023.

◆ DeregisterFromScene()

void Alarm::DeregisterFromScene ( )
private

◆ GetDeregRef()

AlarmManager::TimelineRef Alarm::GetDeregRef ( )
private

◆ GetTimeToTrigger()

float Alarm::GetTimeToTrigger ( )

Gets time until the alarm triggers.

Haru, 3/12/2023.

Returns
The number of seconds until the alarm triggers, or -1 if not currently set.

◆ isRegisteredOrPending()

bool Alarm::isRegisteredOrPending ( )

Query if this object is registered to a Scene or pending.

Haru, 3/8/2023.

Returns
True if registered or pending, false if not.

◆ operator=()

Alarm & Alarm::operator= ( const Alarm )
delete

◆ RegisterToScene()

void Alarm::RegisterToScene ( float  sec)
private

◆ SetDeregRef()

void Alarm::SetDeregRef ( AlarmManager::TimelineRef  ref)
private

◆ SubmitDeregistration()

void Alarm::SubmitDeregistration ( )

Submit alarm deregistration from the currently active scene.

Haru, 3/8/2023.

◆ SubmitRegistration()

void Alarm::SubmitRegistration ( float  sec)

Submit alarm registration to the currently active Scene.

Haru, 3/8/2023.

Parameters
secHow many seconds into the future the alarm should trigger

◆ SubmitRegistrationRepeat()

void Alarm::SubmitRegistrationRepeat ( float  sec,
int  repeat 
)

Submit repeating alarm registration to the currently active Scene.

Haru, 3/8/2023.

Parameters
secHow many seconds into the future the alarm should trigger
secHow many times the alarm should repeat

◆ SubmitRegistrationTime()

void Alarm::SubmitRegistrationTime ( float  period,
float  length 
)

Submit repeating alarm registration to the currently active Scene.

Haru, 3/8/2023.

Parameters
secHow many seconds should pass between each trigger.
secHow long the alarm should repeat for.

◆ TriggerAlarm()

void Alarm::TriggerAlarm ( )
privatevirtual

Friends And Related Function Documentation

◆ AlarmAttorney

friend class AlarmAttorney
friend

Member Data Documentation

◆ m_deregRef

AlarmManager::TimelineRef Alarm::m_deregRef
private

◆ m_period

float Alarm::m_period
private

◆ m_regState

RegistrationState Alarm::m_regState
private

◆ m_repeat

int Alarm::m_repeat
protected

◆ m_triggerTime

float Alarm::m_triggerTime
private

◆ p_deregCmd

AlarmDeregistrationCommand* Alarm::p_deregCmd
private

◆ p_regCmd

AlarmRegistrationCommand* Alarm::p_regCmd
private

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