LeviLamina
Loading...
Searching...
No Matches
AppConfigs.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/options/EducationEditionOffer.h"
9
10// auto generated forward declare list
11// clang-format off
12class IAppConfigData;
15class LevelData;
18struct LevelSummary;
19struct PackIdVersion;
21class ISceneStack;
22class SceneFactory;
23// clang-format on
24
25class AppConfigs : public ::Bedrock::EnableNonOwnerReferences {
26public:
27 // AppConfigs inner types define
28 enum class MaelstromEduUsabilityStatus : uchar {
29 Unknown = 0,
30 Unallowed = 1,
31 Allowed = 2,
32 };
33
34 using LeaveGameCallback =
35 ::std::function<void(::Bedrock::NotNullNonOwnerPtr<::ISceneStack> const&, ::SceneFactory&)>;
36
37public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<8, 64, ::std::function<bool(::LevelSummary const&)>> mCanAccessWorldCallback;
41 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ScreenCapabilitiesRepo>> mScreenCapabilities;
42 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::AppConfigsDependencies const>> const> mDependencies;
43 ::ll::
44 TypedStorage<8, 64, ::std::function<void(::Bedrock::NotNullNonOwnerPtr<::ISceneStack> const&, ::SceneFactory&)>>
45 mLeaveGameCallback;
46 // NOLINTEND
47
48public:
49 // prevent constructor by default
50 AppConfigs();
51
52public:
53 // virtual functions
54 // NOLINTBEGIN
55 virtual ~AppConfigs() /*override*/;
56
57 virtual void loadFromData(::IAppConfigData const&);
58
59 virtual bool arePremiumSkinPacksAllowed() const;
60
61 virtual bool areResourcePacksAllowed() const;
62
63 virtual bool isPlayScreenAllowed() const;
64
65 virtual bool isChatScreenAllowed() const;
66
67 virtual bool isGameTabShownInSettings() const;
68
69 virtual bool areEmotesSupported() const;
70
71 virtual bool useNormalizedFontSize() const;
72
73 virtual bool useFullScreenByDefault() const;
74
75 virtual bool muteByDefault() const;
76
77 virtual bool isCoursesCacheEnabled() const;
78
79 virtual bool shouldPromptBeforeExit() const;
80
81 virtual bool gameArgumentsNeedAuthentication() const;
82
83 virtual bool worldBuilderDisabled() const;
84
85 virtual bool worldsAreSingleUse() const;
86
87 virtual ::EducationEditionOffer getEducationEditionOffering() const;
88
89 virtual bool requireTrustedContent() const;
90
91 virtual bool isExternalPlayerCommunicationAllowed() const;
92
93 virtual bool supports3DExport() const;
94
95 virtual bool requireEduLevelSettings() const;
96
97 virtual ::ConnectionDefinition getConnectionDefinition() const;
98
99 virtual bool supportsChangingMultiplayerDuringPlay() const;
100
101 virtual bool webSocketsDisabled() const;
102
103 virtual bool sendPermissionsTelemetry() const;
104
105 virtual bool useEduDemoUpsellDialog() const;
106
107 virtual bool allowGameArguments() const;
108
109 virtual ::AppConfigs::MaelstromEduUsabilityStatus canUseMaelstrom() const;
110
111 virtual bool isSaveToCloudOn() const;
112
113 virtual bool isEduAIOn() const;
114
115 virtual bool isEduDedicatedServerOn() const;
116
117 virtual void setIsEduDedicatedServerOn(bool);
118
119 virtual bool isTimeForEduDedicatedServerRefresh() const;
120
121 virtual void setEduDedicatedServerRefreshed();
122
123 virtual void setEduDedicatedServerRefreshAfterSeconds(::std::chrono::seconds);
124
125 virtual ::std::vector<::PackIdVersion> getAdditionalClientPacks(bool enteringLevel) const;
126
127 virtual ::std::unique_ptr<::IScreenCapabilities> getScreenCapabilities(::std::string const& screenName) const;
128
129 virtual ::std::unique_ptr<::IContentAccessibilityProvider> createContentAccessibility() const;
130
131 virtual ::std::string getFeedbackURL() const;
132
133 virtual ::std::string getHelpCenterURL() const;
134
135 virtual ::std::string getPrivacyAndOnlineSafetyURL() const;
136
137 virtual void applyLevelDataOverride(::LevelData&) const;
138 // NOLINTEND
139
140public:
141 // member functions
142 // NOLINTBEGIN
143 MCAPI explicit AppConfigs(::AppConfigsDependencies&& dependencies);
144
145#ifdef LL_PLAT_C
146 MCAPI bool canAccessWorld(::LevelSummary const& levelSummary) const;
147
148 MCFOLD void setLeaveGameOverride(
149 ::std::function<void(::Bedrock::NotNullNonOwnerPtr<::ISceneStack> const&, ::SceneFactory&)> leaveGameCallback
150 );
151
152 MCAPI bool
153 tryLeaveGameOverride(::Bedrock::NotNullNonOwnerPtr<::ISceneStack> const& sceneStack, ::SceneFactory& sceneFactory);
154#endif
155 // NOLINTEND
156
157public:
158 // constructor thunks
159 // NOLINTBEGIN
160 MCAPI void* $ctor(::AppConfigsDependencies&& dependencies);
161 // NOLINTEND
162
163public:
164 // destructor thunk
165 // NOLINTBEGIN
166 MCAPI void $dtor();
167 // NOLINTEND
168
169public:
170 // virtual function thunks
171 // NOLINTBEGIN
172 MCFOLD void $loadFromData(::IAppConfigData const&);
173
174 MCFOLD bool $arePremiumSkinPacksAllowed() const;
175
176 MCFOLD bool $areResourcePacksAllowed() const;
177
178 MCFOLD bool $isPlayScreenAllowed() const;
179
180 MCFOLD bool $isChatScreenAllowed() const;
181
182 MCFOLD bool $isGameTabShownInSettings() const;
183
184 MCFOLD bool $areEmotesSupported() const;
185
186 MCFOLD bool $useNormalizedFontSize() const;
187
188 MCFOLD bool $useFullScreenByDefault() const;
189
190 MCFOLD bool $muteByDefault() const;
191
192 MCFOLD bool $isCoursesCacheEnabled() const;
193
194 MCFOLD bool $shouldPromptBeforeExit() const;
195
196 MCFOLD bool $gameArgumentsNeedAuthentication() const;
197
198 MCFOLD bool $worldBuilderDisabled() const;
199
200 MCFOLD bool $worldsAreSingleUse() const;
201
202 MCFOLD ::EducationEditionOffer $getEducationEditionOffering() const;
203
204 MCFOLD bool $requireTrustedContent() const;
205
206 MCFOLD bool $isExternalPlayerCommunicationAllowed() const;
207
208 MCAPI bool $supports3DExport() const;
209
210 MCFOLD bool $requireEduLevelSettings() const;
211
212 MCAPI ::ConnectionDefinition $getConnectionDefinition() const;
213
214 MCFOLD bool $supportsChangingMultiplayerDuringPlay() const;
215
216 MCFOLD bool $webSocketsDisabled() const;
217
218 MCFOLD bool $sendPermissionsTelemetry() const;
219
220 MCFOLD bool $useEduDemoUpsellDialog() const;
221
222 MCFOLD bool $allowGameArguments() const;
223
224 MCFOLD ::AppConfigs::MaelstromEduUsabilityStatus $canUseMaelstrom() const;
225
226 MCFOLD bool $isSaveToCloudOn() const;
227
228 MCFOLD bool $isEduAIOn() const;
229
230 MCFOLD bool $isEduDedicatedServerOn() const;
231
232 MCFOLD void $setIsEduDedicatedServerOn(bool);
233
234 MCFOLD bool $isTimeForEduDedicatedServerRefresh() const;
235
236 MCFOLD void $setEduDedicatedServerRefreshed();
237
238 MCFOLD void $setEduDedicatedServerRefreshAfterSeconds(::std::chrono::seconds);
239
240 MCAPI ::std::vector<::PackIdVersion> $getAdditionalClientPacks(bool enteringLevel) const;
241
242 MCAPI ::std::unique_ptr<::IScreenCapabilities> $getScreenCapabilities(::std::string const& screenName) const;
243
244 MCAPI ::std::unique_ptr<::IContentAccessibilityProvider> $createContentAccessibility() const;
245
246 MCAPI ::std::string $getFeedbackURL() const;
247
248 MCAPI ::std::string $getHelpCenterURL() const;
249
250 MCAPI ::std::string $getPrivacyAndOnlineSafetyURL() const;
251
252 MCFOLD void $applyLevelDataOverride(::LevelData&) const;
253
254
255 // NOLINTEND
256
257public:
258 // vftables
259 // NOLINTBEGIN
260 MCNAPI static void** $vftable();
261 // NOLINTEND
262};
static MCAPI void ** $vftable()
Definition EnableNonOwnerReferences.h:7
Definition IAppConfigData.h:8
Definition IContentAccessibilityProvider.h:13
Definition ISceneStack.h:5
Definition IScreenCapabilities.h:8
Definition LevelData.h:55
Definition SceneFactory.h:5
Definition AppConfigsDependencies.h:5
Definition ConnectionDefinition.h:5
Definition LevelSummary.h:30
Definition PackIdVersion.h:10
Definition ScreenCapabilitiesRepo.h:10