LeviLamina
Loading...
Searching...
No Matches
Timer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5class Timer {
6public:
7 // member variables
8 // NOLINTBEGIN
9 ::ll::TypedStorage<4, 4, float> mTicksPerSecond;
10 ::ll::TypedStorage<4, 4, int> mTicks;
11 ::ll::TypedStorage<4, 4, float> mAlpha;
12 ::ll::TypedStorage<4, 4, float> mTimeScale;
13 ::ll::TypedStorage<4, 4, float> mPassedTime;
14 ::ll::TypedStorage<4, 4, float> mFrameStepAlignmentRemainder;
15 ::ll::TypedStorage<4, 4, float> mLastTimeSeconds;
16 ::ll::TypedStorage<4, 4, float> mLastTimestep;
17 ::ll::TypedStorage<4, 4, float> mOverflowTime;
18 ::ll::TypedStorage<8, 8, int64> mLastMs;
19 ::ll::TypedStorage<8, 8, int64> mLastMsSysTime;
20 ::ll::TypedStorage<4, 4, float> mAdjustTime;
21 ::ll::TypedStorage<4, 4, float> mSteppingTick;
22 ::ll::TypedStorage<8, 64, ::std::function<int64()>> mGetTimeMSCallback;
23 // NOLINTEND
24
25#ifdef LL_PLAT_S
26#else // LL_PLAT_C
27public:
28 // prevent constructor by default
29 Timer();
30
31#endif
32public:
33 // member functions
34 // NOLINTBEGIN
35#ifdef LL_PLAT_C
36 MCAPI Timer(float ticksPerSecond, ::std::function<int64()> getTimeMSCallback);
37#endif
38
39 MCAPI void advanceTime(float preferredFrameStep);
40 // NOLINTEND
41
42public:
43 // static functions
44 // NOLINTBEGIN
45 MCAPI static int64 getMillisecondsSinceLaunch();
46 // NOLINTEND
47
48public:
49 // constructor thunks
50 // NOLINTBEGIN
51#ifdef LL_PLAT_C
52 MCAPI void* $ctor(float ticksPerSecond, ::std::function<int64()> getTimeMSCallback);
53#endif
54 // NOLINTEND
55};