3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/certificates/identity/LastClickedSource.h"
7#include "mc/client/gui/DirtyFlag.h"
8#include "mc/client/gui/ViewRequest.h"
9#include "mc/client/gui/screens/ScreenController.h"
10#include "mc/client/gui/screens/controllers/ModalScreenButtonId.h"
11#include "mc/client/gui/screens/controllers/ModalScreenButtonMode.h"
12#include "mc/client/gui/screens/controllers/SafeZoneBuffer.h"
13#include "mc/client/gui/screens/controllers/ScreenExitBehavior.h"
14#include "mc/client/gui/screens/controllers/UpdateSliderProgressMode.h"
15#include "mc/client/player/PickCustomSkinResult.h"
16#include "mc/client/social/UserPlatformConnectionResult.h"
17#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
18#include "mc/identity/IdentitySignInTrigger.h"
19#include "mc/options/option_types/OptionID.h"
20#include "mc/world/level/FileArchiver.h"
31namespace Core {
class Path; }
37 public ::std::enable_shared_from_this<::MinecraftScreenController> {
50 ::ll::UntypedStorage<8, 16> mUnk597512;
51 ::ll::UntypedStorage<4, 4> mUnk6b49e5;
52 ::ll::UntypedStorage<4, 4> mUnk3fbbc6;
53 ::ll::UntypedStorage<4, 4> mUnk9d8073;
54 ::ll::UntypedStorage<1, 1> mUnk398789;
55 ::ll::UntypedStorage<8, 64> mUnk74da16;
56 ::ll::UntypedStorage<8, 32> mUnk88ae43;
57 ::ll::UntypedStorage<8, 32> mUnke0c100;
58 ::ll::UntypedStorage<8, 40> mUnk48d201;
59 ::ll::UntypedStorage<1, 1> mUnk500617;
60 ::ll::UntypedStorage<8, 64> mUnked78bd;
61 ::ll::UntypedStorage<8, 64> mUnkba0362;
62 ::ll::UntypedStorage<1, 1> mUnk611fb7;
67 MinecraftScreenController& operator=(MinecraftScreenController
const&);
68 MinecraftScreenController(MinecraftScreenController
const&);
69 MinecraftScreenController();
74 virtual ~MinecraftScreenController() ;
76 virtual ::ui::ViewRequest tryExit() ;
78 virtual ::ui::DirtyFlag tick() ;
80 virtual uint getSceneId() const ;
82 virtual
void setSuspendInput(
bool suspendInput) ;
84 virtual
void setSuspendDirectionalInput(
bool suspendDirectionalInput) ;
86 virtual
void leaveScreen(::std::
string const& expectedScreenName) ;
88 virtual
void onInit() ;
90 virtual
void onDelete() ;
92 virtual
void onOpen() ;
95 ::std::
string const& collectionName,
96 uint collectionNameHash,
98 ::std::
string const& bindingName,
100 ::std::
string const& bindingNameOverride,
105 ::std::
string const& bindingName,
106 uint bindingNameHash,
107 ::std::
string const& bindingNameOverride,
111 virtual
bool _doesScreenHaveExitBehavior() const ;
113 virtual
bool _isStillValid() const;
115 virtual
bool _getGamepadHelperVisible() const;
117 virtual
bool _getMixedHelperVisible() const;
119 virtual
bool _getKeyboardHelperVisible() const;
121 virtual
bool _getGestureControlEnabled() const;
123 virtual ::std::
string _getButtonStartDescription();
125 virtual ::std::
string _getButtonADescription();
127 virtual ::std::
string _getButtonBDescription();
129 virtual ::std::
string _getButtonXDescription();
131 virtual ::std::
string _getButtonYDescription();
133 virtual ::std::
string _getButtonKeyboardDescription();
135 virtual
void showPickCustomSkinDialog(::std::function<
void(::PickCustomSkinResult)> callback);
137 virtual ::std::
string _getScreenName() const;
139 virtual ::ui::ViewRequest
140 promptConnect(
bool signInOnSuccess, ::std::function<
void(::Social::UserPlatformConnectionResult)> signInCallback);
146 MCNAPI MinecraftScreenController(
148 ::ScreenExitBehavior exitBehavior,
149 bool usesErrorPopupInfo
157 ::Social::IdentitySignInTrigger signInTrigger,
158 ::
std::
string const& signInSource,
159 ::
std::function<
void(::Social::MultiIdentitySigninResult)> callback
163 ::Social::IdentitySignInTrigger signInTrigger,
164 ::
std::
string const& signInSource,
165 ::
std::function<
void(::Social::MultiIdentitySigninResult)> signInCallback
177 ::
std::
string const& factory,
178 ::
std::
string const& ttsTitle,
179 ::
std::
string const& ttsContent
183 ::
std::
string const& controlId,
184 ::
std::
string const& factory,
185 ::
std::
string const& name,
186 ::
std::
string const& ttsTitle,
187 ::
std::
string const& ttsContent
191 ::
std::
string const& messageString,
192 ::
std::
string const& closeButtonTitle,
193 bool showOpenAccountSettingButton
199 ::
std::
string const& title,
200 ::
std::
string const& message,
201 ::ModalScreenButtonMode buttonNumber,
202 ::
std::function<
void(
bool)> callback,
203 ::
std::
string const& telemetryOverride
212 ::Social::IdentitySignInTrigger signInTrigger,
213 ::
std::
string const& signInSource,
214 ::
std::function<
void(::Social::MultiIdentitySigninResult)> signInCallback
218 ::Social::MultiIdentitySigninResult const& signInResult,
219 ::
std::function<
void(::Social::MultiIdentitySigninResult)> callback,
226 ::Social::MultiIdentitySigninResult const& result,
227 ::
std::function<
void(::Social::MultiIdentitySigninResult)> callback
239 MCNAPI ::
std::
string const
251 ::
std::
string const& controlId,
252 ::
std::
string const& factory,
253 ::
std::
string const& name
265 ::Social::IdentitySignInTrigger signInTrigger,
266 ::
std::
string const& signInSource,
267 ::
std::function<
void(::Social::MultiIdentitySigninResult)> signInCallback
271 ::
std::
string const& collectionName,
272 int const& collectionSize,
273 ::
std::
string const& dropdownName,
274 ::
std::
string const& dropdownToggleLabelBindingName,
275 ::
std::unordered_map<::
std::
string,
int> const& nameValuePairs,
276 ::
std::unordered_map<
int, ::
std::
string> const& valueLabelPairs,
277 ::
std::
string const& enabledBindingName,
278 ::
std::function<
bool(
int)> isEnabled,
279 ::
std::function<
int(
int)> getValue,
280 ::
std::function<
void(
int,
int)> setValue
285 ::
std::
string const& dropdownName,
286 ::
std::unordered_map<::
std::
string,
int> const& nameValuePairs,
287 ::
std::unordered_map<
int, ::
std::
string> const& valueLabelPairs
291 ::
std::
string const& dropdownName,
292 ::
std::
string const& dropdownToggleLabelBindingName,
293 ::
std::unordered_map<::
std::
string,
int> const& nameValuePairs,
294 ::
std::unordered_map<
int, ::
std::
string> const& nameLabelPairs,
295 ::
std::function<
int()> getValue,
296 ::
std::function<
void(
int)> setValue
300 ::
std::
string const& dropdownName,
301 ::
std::
string const& dropdownToggleLabelBindingName,
302 ::
std::unordered_map<::
std::
string,
int> const& nameValuePairs,
303 ::
std::unordered_map<
int, ::
std::
string> const& valueLabelPairs,
304 ::
std::
string const& enabledBindingName,
305 ::
std::function<
bool()> isEnabled,
306 ::
std::function<
int()> getValue,
307 ::
std::function<
void(
int)> setValue
312 ::
std::
string const& sliderName,
313 ::
std::
string const& optionFormat,
314 ::
std::function<::
std::
string(::
std::
string const&,
float,
bool)> valueLabeller,
315 ::UpdateSliderProgressMode updateProgressMode
320 ::
std::
string const& sliderName,
321 ::
std::
string const& valueBindingName,
322 ::
std::
string const& enabledBindingName,
323 ::
std::
string const& labelBindingName,
324 ::
std::
string const& ttsBindingName,
325 ::
std::
string const& optionFormat,
326 ::
std::function<::
std::
string(::
std::
string const&,
float,
bool)> valueLabeller,
327 ::UpdateSliderProgressMode updateProgressMode
331 ::
std::
string const& sliderName,
332 ::
std::
string const& valueBindingName,
333 ::
std::
string const& enabledBindingName,
334 ::
std::
string const& labelBindingName,
335 ::
std::
string const& ttsBindingName,
336 ::
std::function<::
std::
string()> getOptionName,
337 ::
std::function<
bool()> isEnabled,
338 ::
std::function<
float()> getValue,
339 ::
std::function<
void(
float)> setValue,
340 ::
std::function<
float()> getMin,
341 ::
std::function<
float()> getMax,
342 ::
std::
string const& optionFormat,
343 ::
std::function<::
std::
string(::
std::
string const&,
float,
bool)> valueLabeller,
344 ::UpdateSliderProgressMode updateProgressMode
348 ::
std::
string const& nestedBaseButtonId,
349 ::
std::
string const& nestedControlEnabledBinding,
350 ::
std::
string firstControlName,
353 ::
std::vector<uint> ignoredControls
357 ::
std::
string const& gridCollectionPrefix,
358 ::
std::function<
int()> widthCallback,
359 ::
std::function<
int()> heightCallback,
360 ::
std::function<
int()> itemCountCallback
365 ::
std::
string const& sliderName,
366 ::
std::function<::
std::
string(
int)> valueLabeller,
367 bool continuousUpdate
372 ::
std::
string const& sliderName,
373 ::
std::
string const& valueBindingName,
374 ::
std::
string const& enabledBindingName,
375 ::
std::
string const& stepsBindingName,
376 ::
std::
string const& labelBindingName,
377 ::
std::
string const& ttsBindingName,
378 ::
std::function<::
std::
string(
int)> valueLabeller,
379 bool continuousUpdate
383 ::
std::
string const& sliderName,
384 ::
std::
string const& valueBindingName,
385 ::
std::
string const& enabledBindingName,
386 ::
std::
string const& stepsBindingName,
387 ::
std::
string const& labelBindingName,
388 ::
std::
string const& ttsBindingName,
389 ::
std::function<::
std::
string()> getOptionName,
390 ::
std::function<
bool()> isEnabled,
391 ::
std::function<::
std::vector<
int>()> getValues,
392 ::
std::function<
int()> getValue,
393 ::
std::function<
void(
int)> setValue,
394 ::
std::function<::
std::
string(
int)> valueLabeller,
395 bool continuousUpdate,
396 ::OptionID sliderOptionID
419 MCNAPI static ::
std::function<::
std::
string(::
std::
string const&,
float,
bool)>&
464 ::
std::
string const& collectionName,
465 uint collectionNameHash,
467 ::
std::
string const& bindingName,
468 uint bindingNameHash,
469 ::
std::
string const& bindingNameOverride,
474 ::
std::
string const& bindingName,
475 uint bindingNameHash,
476 ::
std::
string const& bindingNameOverride,
508 MCNAPI ::ui::ViewRequest
509 $promptConnect(
bool signInOnSuccess, ::
std::function<
void(::Social::UserPlatformConnectionResult)> signInCallback);
Definition EnableNonOwnerReferences.h:7
Definition FileArchiver.h:35
Definition FilePickerSettings.h:5
Definition ItemInstance.h:15
Definition MinecraftScreenController.h:5
MCAPI void setUpCallbacksForNestedButtonInCollection(::std::string const &nestedBaseButtonId, ::std::string const &nestedControlEnabledBinding, ::std::string firstControlName, ::std::function< int(::UIPropertyBag &)> indexSelectionFunc, ::std::function< bool(::UIPropertyBag &, int)> visibilityFunction, ::std::vector< uint > ignoredControls)
MCAPI void $leaveScreen(::std::string const &expectedScreenName)
MCAPI void $showPickCustomSkinDialog(::std::function< void(::PickCustomSkinResult)> callback)
MCAPI void _displayJsonDefinedControlPopup(::UIPropertyBag const &popupBag, ::std::string const &factory, ::std::string const &ttsTitle, ::std::string const &ttsContent)
MCAPI void _handleSignIn(::Social::IdentitySignInTrigger signInTrigger, ::std::string const &signInSource, ::std::function< void(::Social::MultiIdentitySigninResult)> signInCallback)
static MCAPI ::std::string & mSliderOptionTitle()
MCAPI void _showLiveMultiplayerModal()
MCAPI void * $ctor(::std::shared_ptr<::MinecraftScreenModel > model, ::ScreenExitBehavior exitBehavior, bool usesErrorPopupInfo)
MCAPI bool $_getGestureControlEnabled() const
MCAPI void _attemptSigninOrSignup(::Social::IdentitySignInTrigger signInTrigger, ::std::string const &signInSource, ::std::function< void(::Social::MultiIdentitySigninResult)> signInCallback)
MCAPI::ui::ViewRequest _onModalEventReceived(::ModalScreenButtonId modalResult, bool buttonClosesModal)
static MCAPI ::ModalScreenData getProfanityModalData()
MCAPI int _getStepSliderValue(::std::function< int()> getValue, ::std::string const &valueBindingName, bool continuousUpdate)
MCAPI::std::string $_getButtonBDescription()
MCAPI::ui::ViewRequest showSignIn()
MCAPI::std::string const _retrieveBindingValueFromPropertyBag(::std::string const &bindingName, ::UIPropertyBag &propertyBag) const
MCAPI ::std::shared_ptr<::DropdownScreenController > setUpCallbacksForCollectionDropdownOption(::std::string const &collectionName, int const &collectionSize, ::std::string const &dropdownName, ::std::string const &dropdownToggleLabelBindingName, ::std::unordered_map<::std::string, int > const &nameValuePairs, ::std::unordered_map< int, ::std::string > const &valueLabelPairs, ::std::string const &enabledBindingName, ::std::function< bool(int)> isEnabled, ::std::function< int(int)> getValue, ::std::function< void(int, int)> setValue)
MCAPI::std::string $_getButtonStartDescription()
MCAPI void _registerEventHandlers()
MCAPI void _closeModalDialog()
MCAPI void exportPDF(::PDFOptions options, ::std::string const &defaultOutName, ::std::function< void(bool)> onComplete)
MCAPI void showRemoteStorageErrorModal(::Core::Path const &storageDirectory)
MCAPI bool _attemptSignIn(::Social::IdentitySignInTrigger signInTrigger, ::std::string const &signInSource, ::std::function< void(::Social::MultiIdentitySigninResult)> callback)
MCAPI::ui::ViewRequest $tryExit()
MCAPI bool _isApprovedLink(::std::string const &hyperlink) const
static MCAPI int packItemInstance(::ItemInstance const &item)
MCAPI bool _resolveSafeZoneVisibility(::SafeZoneBuffer buffer) const
MCAPI::std::string $_getButtonYDescription()
static MCAPI ::std::string const & defaultOptionFormat()
MCAPI void _showNoWifiModal()
MCAPI bool $_isStillValid() const
MCAPI bool $bind(::std::string const &collectionName, uint collectionNameHash, int collectionIndex, ::std::string const &bindingName, uint bindingNameHash, ::std::string const &bindingNameOverride, ::UIPropertyBag &bag)
MCAPI void _handleSignInFailure(::Social::MultiIdentitySigninResult const &signInResult, ::std::function< void(::Social::MultiIdentitySigninResult)> callback, bool isAutoSignIn)
MCAPI void gateOnPlatformSignInForStoreAccess(::std::function< void()> callback)
MCAPI void exportWorld(::std::string const &levelId, ::std::string const &levelName, ::FileArchiver::ExportType type)
static MCAPI void ** $vftableForScreenController()
MCAPI void setUpCallbacksForDropdownOption(::OptionID optionID, ::std::string const &dropdownName, ::std::unordered_map<::std::string, int > const &nameValuePairs, ::std::unordered_map< int, ::std::string > const &valueLabelPairs)
MCAPI::std::string $_getButtonADescription()
static MCAPI ::std::function<::std::string(::std::string const &, float, bool)> & defaultProgressSliderOptionLabeller()
MCAPI::std::string $_getScreenName() const
MCAPI::ui::ViewRequest promptSignIn(::Social::IdentitySignInTrigger signInTrigger, ::std::string const &signInSource, ::std::function< void(::Social::MultiIdentitySigninResult)> signInCallback)
MCAPI void $setSuspendDirectionalInput(bool suspendDirectionalInput)
MCAPI void _promptEduSwitchAccounts(bool showModal, ::std::string const &buttonName, ::LastClickedSource lastClickedSource)
MCAPI::ui::DirtyFlag $tick()
MCAPI bool $_doesScreenHaveExitBehavior() const
MCAPI void setUpCallbacksForStackPanelGrid(::std::string const &gridCollectionPrefix, ::std::function< int()> widthCallback, ::std::function< int()> heightCallback, ::std::function< int()> itemCountCallback)
MCAPI void showPickFileDialog(::std::shared_ptr<::FilePickerSettings > settings)
MCAPI void _attemptConnect(::std::function< void(::Social::UserPlatformConnectionResult)> callback)
MCAPI void setUpCallbacksForFloatOption(::OptionID optionID, ::std::string const &sliderName, ::std::string const &optionFormat, ::std::function<::std::string(::std::string const &, float, bool)> valueLabeller, ::UpdateSliderProgressMode updateProgressMode)
MCAPI void _onAttemptSignInResult(::Social::MultiIdentitySigninResult const &result, ::std::function< void(::Social::MultiIdentitySigninResult)> callback)
MCAPI void _gateRealmsWhenCrossPlatformIsDisabled(::std::function< void()> callback)
MCAPI::ui::ViewRequest $promptConnect(bool signInOnSuccess, ::std::function< void(::Social::UserPlatformConnectionResult)> signInCallback)
MCAPI::std::string $_getButtonKeyboardDescription()
MCAPI uint $getSceneId() const
MCAPI::std::string $_getButtonXDescription()
MCAPI bool $_getMixedHelperVisible() const
MCAPI bool _checkRealmCreatePermissions()
MCAPI bool $_getKeyboardHelperVisible() const
static MCAPI void ** $vftableForEnableNonOwnerReferences()
MCAPI void _displayPrivilegesBlockedModalPopup(::std::string const &messageString, ::std::string const &closeButtonTitle, bool showOpenAccountSettingButton)
MCAPI void _displaySignOutFailedModalPopup(::std::string const &error)
MCAPI bool _tryShowSuspendWarningModal(::std::function< void()> onConfirm)
MCAPI void _attemptAddFriends(::std::function< void()> callback)
static MCAPI ::UpdateSliderProgressMode const & defaultUpdateSliderProgressMode()
MCAPI bool $_getGamepadHelperVisible() const
MCAPI void _displayCustomModalPopup(::ModalScreenData const &modalData, ::std::function< void(::ModalScreenButtonId)> callback)
MCAPI void displayJsonDefinedControlPopup(::std::string const &controlId, ::std::string const &factory, ::std::string const &name)
MCAPI void _displayStandardModalPopup(::std::string const &title, ::std::string const &message, ::ModalScreenButtonMode buttonNumber, ::std::function< void(bool)> callback, ::std::string const &telemetryOverride)
static MCAPI ::OptionID & mSliderOptionID()
MCAPI void $setSuspendInput(bool suspendInput)
MCAPI void setUpCallbacksForStepOption(::OptionID optionID, ::std::string const &sliderName, ::std::function<::std::string(int)> valueLabeller, bool continuousUpdate)
MCAPI bool _tryNavigateToXblUpsellScreen()
Definition MinecraftScreenModel.h:5
Definition ScreenController.h:5
Definition DropdownScreenController.h:5
Definition MinecraftScreenController.h:13
Definition ModalScreenData.h:5
Definition PDFOptions.h:5
Definition MultiIdentitySigninResult.h:7
Definition UIPropertyBag.h:5