SUNENGINE 0.0.2
A simple and bright C++ game engine.
 
Loading...
Searching...
No Matches
TimeManager.h
1#ifndef TimeManager_H
2#define TimeManager_H
3
4#include "FreezeTime.h"
5
14class TimeManager
15{
16 friend class TimeManagerAttorney;
17public:
23 static float GetDeltaTime() { return Instance().privGetDeltaTime(); }
24
30 static float GetTime() { return Instance().privGetTime(); }
31private:
32 static TimeManager* ptrInstance;
33
35 TimeManager(const TimeManager&) = delete;
36 TimeManager& operator=(const TimeManager&) = delete;
37 ~TimeManager() = default;
38
39 static TimeManager& Instance()
40 {
41 if (ptrInstance == nullptr)
42 ptrInstance = new TimeManager();
43 return *ptrInstance;
44 };
45
50
54 float deltaTime;
55
60
65
69 static void Delete() { Instance().privDelete(); }
70
74 static void ProcessTime() { Instance().privProcessTime(); }
75
76 void privDelete();
77 void privProcessTime();
78 float privGetDeltaTime();
79 float privGetTime();
80};
81
82#endif
Manages the freezing and single frame stepping of the game time.
Definition FreezeTime.h:17
Manages the timing and delta time for the game.
Definition TimeManager.h:15
static void ProcessTime()
Processes the time by updating the current and delta time.
Definition TimeManager.h:74
static float GetTime()
Retrieves the current time.
Definition TimeManager.h:30
FreezeTime * frzTime
Pointer to the FreezeTime object.
Definition TimeManager.h:64
static void Delete()
Deletes the TimeManager instance.
Definition TimeManager.h:69
static float GetDeltaTime()
Retrieves the delta time.
Definition TimeManager.h:23
float deltaTime
The delta time.
Definition TimeManager.h:54
float previousTime
The previous time for calculating delta time.
Definition TimeManager.h:59
float currentTime
The current time.
Definition TimeManager.h:49