3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/ViewRequest.h"
8#include "mc/client/gui/screens/controllers/EduRefreshType.h"
9#include "mc/client/gui/screens/controllers/SettingsScreenControllerBase.h"
10#include "mc/deps/core/file/PathBuffer.h"
11#include "mc/deps/core/threading/BasicLockbox.h"
12#include "mc/deps/core/threading/TaskGroup.h"
13#include "mc/platform/brstd/flat_map.h"
14#include "mc/social/EduResponseError.h"
26namespace Json {
class Value; }
34 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::PlayScreenModel>> mPlayScreenModel;
35 ::ll::TypedStorage<1, 1, bool> mShowNestedButtons;
36 ::ll::TypedStorage<1, 1, bool> mMatchedServersNeedsRefresh;
37 ::ll::TypedStorage<8, 32, ::std::string> mSearchString;
38 ::ll::TypedStorage<8, 32, ::std::string> mAddServerInfoString;
39 ::ll::TypedStorage<8, 32, ::std::string> mMostRecentlyAddedServer;
40 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mMatchedServers;
41 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DlcUIWrapper>> mDlcUIWrapper;
42 ::ll::TypedStorage<8, 8, ::PackManagerContentSource*> mWorldContentSource;
43 ::ll::TypedStorage<8, 8, ::IContentManager&> mContentManager;
44 ::ll::TypedStorage<1, 1, bool> mHasInitializedServerList;
45 ::ll::TypedStorage<1, 1, bool> mErrorFromRefresh;
46 ::ll::TypedStorage<1, 1, bool> mIsDoneLoadingKnownServers;
47 ::ll::TypedStorage<1, 1, bool> mIsDoneLoadingUnknownServers;
48 ::ll::TypedStorage<1, 1, bool> mIsDoneFetchHandler;
49 ::ll::TypedStorage<1, 1, bool> mNeedsRefocus;
50 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastFullServerInfoRefresh;
51 ::ll::TypedStorage<8, 40, ::std::queue<::Social::EduResponseError, ::std::deque<::Social::EduResponseError>>>
53 ::ll::TypedStorage<8, 40, ::std::queue<::Social::EduResponseError, ::std::deque<::Social::EduResponseError>>>
55 ::ll::TypedStorage<8, 32, ::std::string> mBannerErrorString;
56 ::ll::TypedStorage<1, 1, bool> mPopupOpen;
57 ::ll::TypedStorage<8, 32, ::std::string> mAddServerId;
58 ::ll::TypedStorage<8, 32, ::std::string> mJoinServerId;
65 ::std::less<::std::string>,
66 ::std::vector<::std::string>,
67 ::std::vector<::std::string>>>
69 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::EDUAddServerScreenController>> mAddServerScreenController;
70 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::EDUPasscodeEntryScreenController>> mPasscodeEntryScreenController;
74 ::Bedrock::Threading::BasicLockbox<
77 ::Social::EduDedicatedServerDetails,
78 ::std::less<::std::string>,
79 ::std::vector<::std::string>,
80 ::std::vector<::Social::EduDedicatedServerDetails>>,
83 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mCacheFilePath;
84 ::ll::TypedStorage<8, 336, ::TaskGroup> mTaskGroup;
89 EDUServersScreenController& operator=(EDUServersScreenController
const&);
90 EDUServersScreenController(EDUServersScreenController
const&);
91 EDUServersScreenController();
96 virtual ~EDUServersScreenController() =
default;
98 virtual void onOpen() ;
100 virtual void onTerminate() ;
102 virtual ::ui::DirtyFlag tick() ;
104 virtual ::ui::ViewRequest handleEvent(::ScreenEvent& screenEvent) ;
106 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
112 MCAPI
explicit EDUServersScreenController(::std::shared_ptr<::PlayScreenModel> model);
114 MCAPI
void _closeAddServerModal();
116 MCAPI
void _closePasscodeEntryModal();
118 MCAPI
void _closeSharePopup();
120 MCAPI ::std::optional<::Social::EduDedicatedServerDetails> _getServerDetails(::UIPropertyBag& bag)
const;
122 MCAPI
void _launchShareUri(::std::string
const& uri, ::std::string
const& toastMsg, ::std::string
const& eventName);
124 MCAPI
void _refreshServerInfo(::std::vector<::std::string> serverIds, ::Social::EduRefreshType
const& refreshType);
126 MCAPI
void _requestAddServer(::std::string
const& serverId);
128 MCAPI
void _requestJoinServer(::Social::EduDedicatedServerDetails
const& details, ::std::string
const& passcode);
130 MCAPI
void _showAddServerModal();
132 MCAPI
void _showFetchErrorMessage(::Social::EduResponseError& error);
134 MCAPI
void _showPasscodeEntryModal(::Social::EduDedicatedServerDetails
const& details);
140 MCAPI
static uint64 _getTileIndex(::UIPropertyBag& bag);
146 MCAPI
void* $ctor(::std::shared_ptr<::PlayScreenModel> model);
152 MCAPI
void $onOpen();
154 MCAPI
void $onTerminate();
156 MCAPI ::ui::DirtyFlag $tick();
158 MCAPI ::ui::ViewRequest $handleEvent(::ScreenEvent& screenEvent);
160 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
Definition DlcUIWrapper.h:5
Definition EDUAddServerScreenController.h:5
Definition EDUPasscodeEntryScreenController.h:5
Definition IContentManager.h:5
Definition PlayScreenModel.h:5
Definition SettingsScreenControllerBase.h:5
Definition UIPropertyBag.h:5
Definition PackManagerContentSource.h:5
Definition ScreenEvent.h:5
Definition EduDedicatedServerDetails.h:15