LeviLamina
Loading...
Searching...
No Matches
BasicTimer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5class BasicTimer {
6public:
7 // member variables
8 // NOLINTBEGIN
9 ::ll::TypedStorage<8, 8, double> mTimeDelay;
10 ::ll::TypedStorage<8, 8, double> mStartTime;
11 ::ll::TypedStorage<8, 64, ::std::function<double()>> mGetCurrentTimeCallback;
12 // NOLINTEND
13
14public:
15 // prevent constructor by default
16 BasicTimer();
17
18public:
19 // member functions
20 // NOLINTBEGIN
21 MCAPI BasicTimer(double timeDelay, ::std::function<double()> getTimeCallback);
22
23#ifdef LL_PLAT_C
24 MCAPI void finishTimer();
25
26 MCFOLD double getTimeDelay() const;
27
28 MCAPI bool hasExpired() const;
29#endif
30
31 MCAPI bool isFinished() const;
32
33 MCAPI void resetTime();
34
35#ifdef LL_PLAT_C
36 MCAPI void resetTime(double newTimeDelay);
37#endif
38 // NOLINTEND
39
40public:
41 // static functions
42 // NOLINTBEGIN
43 MCAPI static double getSecondsSinceLaunch();
44 // NOLINTEND
45
46public:
47 // constructor thunks
48 // NOLINTBEGIN
49 MCAPI void* $ctor(double timeDelay, ::std::function<double()> getTimeCallback);
50 // NOLINTEND
51};