LeviLamina
Loading...
Searching...
No Matches
LevelSummary.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/GameVersion.h"
7#include "mc/common/editor/WorldType.h"
8#include "mc/deps/core/file/PathBuffer.h"
9#include "mc/deps/core/resource/ContentIdentity.h"
10#include "mc/deps/shared_types/legacy/Difficulty.h"
11#include "mc/network/GamePublishSetting.h"
12#include "mc/options/EduSharedUriResource.h"
13#include "mc/options/EducationEditionOffer.h"
14#include "mc/options/EducationEditionOfferValue.h"
15#include "mc/util/BaseGameVersion.h"
16#include "mc/world/level/GameType.h"
17#include "mc/world/level/LevelSeed64.h"
18#include "mc/world/level/storage/CloudSaveLevelInfo.h"
19#include "mc/world/level/storage/Experiments.h"
20#include "mc/world/level/storage/StorageVersion.h"
21#include "mc/world/level/storage/WorldIconType.h"
22#include "mc/world/level/storage/edu_cloud/WorldSyncState.h"
23
24// auto generated forward declare list
25// clang-format off
26class LevelData;
27namespace Core { class Path; }
28// clang-format on
29
30struct LevelSummary {
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 32, ::std::string> mId;
35 ::ll::TypedStorage<8, 32, ::std::string> mName;
36 ::ll::TypedStorage<8, 8, int64> mLastSaved;
37 ::ll::TypedStorage<4, 4, ::GameType> mGameType;
38 ::ll::TypedStorage<1, 1, bool> mIsHardcore;
39 ::ll::TypedStorage<1, 1, bool> mPlayerHasDied;
40 ::ll::TypedStorage<4, 4, int> mTime;
41 ::ll::TypedStorage<1, 1, bool> mShowDaysPlayed;
42 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::Difficulty> mGameDifficulty;
43 ::ll::TypedStorage<8, 8, ::LevelSeed64> mSeed;
44 ::ll::TypedStorage<4, 4, int> mNetworkProtocolVersion;
45 ::ll::TypedStorage<8, 8, uint64> mSizeOnDisk;
46 ::ll::TypedStorage<1, 1, bool> mConfirmedPlatformLockedContent;
47 ::ll::TypedStorage<1, 1, bool> mIsMultiplayerEnabled;
48 ::ll::TypedStorage<1, 1, bool> mLANBroadcastIntent;
49 ::ll::TypedStorage<4, 4, ::Social::GamePublishSetting> mXBLBroadcastIntent;
50 ::ll::TypedStorage<1, 1, bool> mCommandsEnabled;
51 ::ll::TypedStorage<4, 4, ::EducationEditionOfferValue> mEducationEditionOffer;
52 ::ll::TypedStorage<8, 56, ::GameVersion> mLastLoadedGameVersion;
53 ::ll::TypedStorage<8, 56, ::GameVersion> mMinCompatibleClientVersion;
54 ::ll::TypedStorage<4, 4, ::StorageVersion> mStorageVersion;
55 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mWorldDirectoryPath;
56 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mWorldIconPath;
57 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mWorldIconTargetPath;
58 ::ll::TypedStorage<4, 4, ::WorldIconType> mWorldIconType;
59 ::ll::TypedStorage<8, 24, ::ContentIdentity> mPremiumTemplateContentIdentity;
60 ::ll::TypedStorage<8, 32, ::std::string> mEducationOid;
61 ::ll::TypedStorage<8, 72, ::Experiments> mExperiments;
62 ::ll::TypedStorage<8, 32, ::BaseGameVersion> mBaseGameVersion;
63 ::ll::TypedStorage<1, 1, bool> mIsSingleUseWorld;
64 ::ll::TypedStorage<1, 1, bool> mIsBetaRetailLevel;
65 ::ll::TypedStorage<8, 64, ::EduSharedUriResource> mEduSharedUriResource;
66 ::ll::TypedStorage<4, 4, ::Editor::WorldType> mEditorWorldType;
67 ::ll::TypedStorage<8, 176, ::std::optional<::CloudSaveLevelInfo>> mCloudSaveInfo;
68 ::ll::TypedStorage<4, 4, ::EduCloud::WorldSyncState> mEduCloudWorldSyncState;
69 ::ll::TypedStorage<1, 1, bool> mHasUncompleteWorldFileOnDisk;
70 ::ll::TypedStorage<8, 32, ::std::string> mEducationCreatorId;
71 ::ll::TypedStorage<8, 32, ::std::string> mEducationCreatorWorldId;
72 // NOLINTEND
73
74public:
75 // member functions
76 // NOLINTBEGIN
77 MCAPI LevelSummary();
78
79 MCAPI LevelSummary(::LevelSummary const&);
80
81 MCAPI LevelSummary(
82 ::std::string const& levelId,
83 ::LevelData const& levelData,
84 ::Core::Path const& levelDirectory,
85 ::Core::Path const& levelInfoDirectory,
86 bool isBetaRetailLevel
87 );
88
89 MCAPI LevelSummary(
90 ::std::string const& id,
91 ::std::string const& name,
92 int64 lastSaved,
93 ::GameType gameType,
94 bool isHardcore,
95 bool playerHasDied,
96 int time,
97 bool showDaysPlayed,
98 ::SharedTypes::Legacy::Difficulty gameDifficulty,
99 ::LevelSeed64 seed,
100 int npv,
101 uint64 sizeOnDisk,
102 bool confirmedPlatformLockedContent,
103 bool isMultiplayerEnabled,
104 bool lanBroadcastIntent,
105 ::Social::GamePublishSetting xblBroadcastIntent,
106 bool commandsEnabled,
107 ::EducationEditionOffer eduOffer,
108 ::GameVersion const& lastLoadedWithGameVersion,
109 ::GameVersion const& minCompatibleClientVersion,
110 ::StorageVersion storageVersion,
111 ::Core::Path const& path,
112 ::ContentIdentity const& premiumContentIdentity,
113 ::std::string const& educationOid,
114 bool isSingleUseWorld,
115 ::EduSharedUriResource const& eduSharedUriResource,
116 ::Experiments const& experiments,
117 ::BaseGameVersion const& baseGameVersion,
118 ::Editor::WorldType editorWorldType,
119 bool uncompleteWorldFileOnDisk,
120 ::std::optional<::CloudSaveLevelInfo> cloudSaveInfo
121 );
122
123 MCAPI ::std::optional<::Core::PathBuffer<::std::string>> _getScreenshotIconPath(::Core::Path const& worldDirectory);
124
125 MCAPI void _initializeWorldIconPath(::Core::Path const& directory);
126
127 MCAPI bool _isScreenshotIconPath(::Core::PathBuffer<::std::string> const& file);
128
129#ifdef LL_PLAT_C
130 MCAPI bool cloudSaveForWorldIsEnabled() const;
131
132 MCAPI ::CloudSaveLevelInfo const& getCloudSaveInfo() const;
133
134 MCFOLD ::EduCloud::WorldSyncState const getEduCloudWorldSyncState() const;
135
136 MCAPI ::std::string getEducationCreatorId() const;
137
138 MCAPI ::std::string getEducationCreatorWorldId() const;
139
140 MCFOLD bool getPlayerHasDied() const;
141
142 MCFOLD bool getShowDaysPlayed() const;
143
144 MCFOLD int getTime() const;
145
146 MCAPI bool hasValidId() const;
147
148 MCAPI bool isEditionCompatible() const;
149
150 MCAPI bool isGameVersionCompatible() const;
151
152 MCFOLD bool isHardcore() const;
153
154 MCAPI bool isVersionCompatible() const;
155
156 MCAPI bool operator<(::LevelSummary const& rhs) const;
157#endif
158
159 MCAPI ::LevelSummary& operator=(::LevelSummary const&);
160
161#ifdef LL_PLAT_C
162 MCAPI bool operator==(::LevelSummary const& rhs) const;
163
164 MCAPI void removeCloudSave();
165
166 MCAPI void setCloudSave(::CloudSaveLevelInfo const& value);
167
168 MCAPI void setCloudSaveFileName(::std::string const& value);
169
170 MCAPI void setEduCloudWorldSyncState(::EduCloud::WorldSyncState state);
171
172 MCAPI void setEducationCreatorId(::std::string const& id);
173
174 MCAPI void setEducationCreatorWorldId(::std::string const& id);
175#endif
176
177 MCAPI ::LevelSummary& setId(::std::string Id);
178
179 MCAPI ::LevelSummary& setName(::std::string Name);
180
181 MCAPI ~LevelSummary();
182 // NOLINTEND
183
184public:
185 // static functions
186 // NOLINTBEGIN
187 MCAPI static ::Core::PathBuffer<::std::string> buildCustomIconPath(::Core::Path const& worldDirectory);
188
189#ifdef LL_PLAT_C
190 MCAPI static ::Core::PathBuffer<::std::string>
191 buildScreenshotIconPath(::Core::Path const& worldDirectory, ::Core::Path const& previousScreenshotIconPath);
192#endif
193
194 MCAPI static ::Core::PathBuffer<::std::string> buildWorldIconPath(::Core::Path const& worldDirectory);
195 // NOLINTEND
196
197public:
198 // static variables
199 // NOLINTBEGIN
200 MCAPI static ::Core::PathBuffer<::std::string> const& CUSTOM_ICON_FILENAME();
201
202 MCAPI static ::std::string const& DEFAULT_EDU_CLOUD_WORLD_ICON_FILENAME();
203
204 MCAPI static ::std::string const& DEFAULT_WORLD_ICON_FILENAME();
205
206 MCAPI static ::std::string const& INVALID_LEVEL_ID();
207
208 MCAPI static ::std::string const& SCREENSHOT_WORLD_ICON_FILENAME_EXTENSION();
209
210 MCAPI static ::std::string const& SCREENSHOT_WORLD_ICON_FILENAME_PREFIX();
211
212 MCAPI static ::Core::PathBuffer<::std::string> const& WORLD_ICON_FILENAME();
213 // NOLINTEND
214
215public:
216 // constructor thunks
217 // NOLINTBEGIN
218 MCAPI void* $ctor();
219
220 MCAPI void* $ctor(::LevelSummary const&);
221
222 MCAPI void* $ctor(
223 ::std::string const& levelId,
224 ::LevelData const& levelData,
225 ::Core::Path const& levelDirectory,
226 ::Core::Path const& levelInfoDirectory,
227 bool isBetaRetailLevel
228 );
229
230 MCAPI void* $ctor(
231 ::std::string const& id,
232 ::std::string const& name,
233 int64 lastSaved,
234 ::GameType gameType,
235 bool isHardcore,
236 bool playerHasDied,
237 int time,
238 bool showDaysPlayed,
239 ::SharedTypes::Legacy::Difficulty gameDifficulty,
240 ::LevelSeed64 seed,
241 int npv,
242 uint64 sizeOnDisk,
243 bool confirmedPlatformLockedContent,
244 bool isMultiplayerEnabled,
245 bool lanBroadcastIntent,
246 ::Social::GamePublishSetting xblBroadcastIntent,
247 bool commandsEnabled,
248 ::EducationEditionOffer eduOffer,
249 ::GameVersion const& lastLoadedWithGameVersion,
250 ::GameVersion const& minCompatibleClientVersion,
251 ::StorageVersion storageVersion,
252 ::Core::Path const& path,
253 ::ContentIdentity const& premiumContentIdentity,
254 ::std::string const& educationOid,
255 bool isSingleUseWorld,
256 ::EduSharedUriResource const& eduSharedUriResource,
257 ::Experiments const& experiments,
258 ::BaseGameVersion const& baseGameVersion,
259 ::Editor::WorldType editorWorldType,
260 bool uncompleteWorldFileOnDisk,
261 ::std::optional<::CloudSaveLevelInfo> cloudSaveInfo
262 );
263 // NOLINTEND
264
265public:
266 // destructor thunk
267 // NOLINTBEGIN
268 MCAPI void $dtor();
269 // NOLINTEND
270};
Definition BaseGameVersion.h:13
Definition CloudSaveLevelInfo.h:10
Definition ContentIdentity.h:8
Definition PathBuffer.h:8
Definition Path.h:12
Definition Experiments.h:14
Definition GameVersion.h:10
Definition LevelData.h:55
Definition LevelSeed64.h:5
Definition EduSharedUriResource.h:10