summaryrefslogtreecommitdiffhomepage
path: root/Stars45/Clock.h
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-03-07 23:13:50 +0100
committerAki <please@ignore.pl>2022-03-07 23:13:50 +0100
commitd45c12bbbb34c2e4e40d17080d888e2c7a4ea06e (patch)
tree4277dbfd9ebbb0c315e643848dc1818732114d09 /Stars45/Clock.h
parenta8477c1483374bb0aeb3eb9ac9caabe68a4afbb9 (diff)
downloadstarshatter-d45c12bbbb34c2e4e40d17080d888e2c7a4ea06e.zip
starshatter-d45c12bbbb34c2e4e40d17080d888e2c7a4ea06e.tar.gz
starshatter-d45c12bbbb34c2e4e40d17080d888e2c7a4ea06e.tar.bz2
New Clock uses counters instead of epoch from now on
Diffstat (limited to 'Stars45/Clock.h')
-rw-r--r--Stars45/Clock.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/Stars45/Clock.h b/Stars45/Clock.h
index a0b3c4f..e2ddcb0 100644
--- a/Stars45/Clock.h
+++ b/Stars45/Clock.h
@@ -13,21 +13,28 @@
class Clock
{
public:
+ using inner_clock = std::chrono::high_resolution_clock;
+ using elapsed_duration = std::chrono::milliseconds;
+ using count_type = elapsed_duration::rep;
+
Clock();
+ void Set();
void Reset();
double Step();
double Delta() const;
double GuiDelta() const;
+ double TimeCompression() const;
+ count_type GameTime() const;
+ count_type RealTime() const;
void SetTimeCompression(double compression);
- double TimeCompression() const;
protected:
- using inner_clock = std::chrono::high_resolution_clock;
- inner_clock::time_point m_epoch;
inner_clock::time_point m_point;
+ elapsed_duration m_game_elapsed;
+ elapsed_duration m_real_elapsed;
double m_compression;
double m_delta;
double m_gui_delta;