LeviLamina
Loading...
Searching...
No Matches
WorldClock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/container/EnumSet.h"
7#include "mc/deps/core/string/HashedString.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/deps/core/utility/UniqueOwnerPointer.h"
10#include "mc/deps/core/utility/pub_sub/Publisher.h"
11#include "mc/platform/brstd/flat_map.h"
12
13// auto generated forward declare list
14// clang-format off
15class TimeMarker;
16namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
17// clang-format on
18
19class WorldClock {
20public:
21 // WorldClock inner types define
22 enum class DirtyFlags : uchar {
23 SyncState = 0,
24 AddTimeMarker = 1,
25 RemoveTimeMarker = 2,
26 Count = 3,
27 };
28
29 using OnPauseSignature = void(::std::string const&);
30
31 using OnRestartSignature = void(::std::string const&, int&);
32
33 using OnResumeSignature = void(::std::string const&);
34
35 using OnTimeMarkerSignature = void(::std::string const&, ::Bedrock::NonOwnerPointer<::TimeMarker const> const);
36
37public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<8, 48, ::HashedString> mName;
41 ::ll::TypedStorage<4, 4, int> mTime;
42 ::ll::TypedStorage<1, 1, bool> mIsPaused;
43 ::ll::TypedStorage<
44 8,
45 48,
47 uint64,
49 ::std::less<uint64>,
50 ::std::vector<uint64>,
51 ::std::vector<::Bedrock::UniqueOwnerPointer<::TimeMarker>>>>
52 mTimeMarkers;
53 ::ll::TypedStorage<8, 24, ::std::vector<uint64>> mTimeMarkersToAdd;
54 ::ll::TypedStorage<8, 24, ::std::vector<uint64>> mTimeMarkersToRemove;
55 ::ll::TypedStorage<1, 1, ::Bedrock::EnumSet<::WorldClock::DirtyFlags, 3>> mDirtyFlags;
56 ::ll::TypedStorage<
57 8,
58 128,
60 mOnPause;
61 ::ll::TypedStorage<
62 8,
63 128,
65 mOnResume;
66 ::ll::TypedStorage<
67 8,
68 128,
69 ::Bedrock::PubSub::
70 Publisher<void(::std::string const&, int&), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>>
71 mOnRestart;
72 ::ll::TypedStorage<
73 8,
74 128,
76 void(::std::string const&, ::Bedrock::NonOwnerPointer<::TimeMarker const>),
78 0>>
79 mOnTimeMarker;
80 // NOLINTEND
81
82public:
83 // member functions
84 // NOLINTBEGIN
85 MCAPI WorldClock();
86
87 MCAPI WorldClock(::WorldClock const& rhs);
88
89 MCAPI ::WorldClock& operator=(::WorldClock const& rhs);
90
91 MCAPI void setTime(int time);
92
93 MCAPI ~WorldClock();
94 // NOLINTEND
95
96public:
97 // constructor thunks
98 // NOLINTBEGIN
99 MCAPI void* $ctor();
100
101 MCAPI void* $ctor(::WorldClock const& rhs);
102 // NOLINTEND
103
104public:
105 // destructor thunk
106 // NOLINTBEGIN
107 MCAPI void $dtor();
108 // NOLINTEND
109};
Definition NonOwnerPointer.h:9
Definition Publisher.h:8
Definition UniqueOwnerPointer.h:11
Definition TimeMarker.h:8
Definition flat_map.h:8
Definition MultiThreaded.h:12