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 Bedrock::Threading {
class Mutex; }
27namespace Json {
class Value; }
35 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::PlayScreenModel>> mPlayScreenModel;
36 ::ll::TypedStorage<1, 1, bool> mShowNestedButtons;
37 ::ll::TypedStorage<1, 1, bool> mMatchedServersNeedsRefresh;
38 ::ll::TypedStorage<8, 32, ::std::string> mSearchString;
39 ::ll::TypedStorage<8, 32, ::std::string> mAddServerInfoString;
40 ::ll::TypedStorage<8, 32, ::std::string> mMostRecentlyAddedServer;
41 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mMatchedServers;
42 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DlcUIWrapper>> mDlcUIWrapper;
43 ::ll::TypedStorage<8, 8, ::PackManagerContentSource*> mWorldContentSource;
44 ::ll::TypedStorage<8, 8, ::IContentManager&> mContentManager;
45 ::ll::TypedStorage<1, 1, bool> mHasInitializedServerList;
46 ::ll::TypedStorage<1, 1, bool> mErrorFromRefresh;
47 ::ll::TypedStorage<1, 1, bool> mIsDoneLoadingKnownServers;
48 ::ll::TypedStorage<1, 1, bool> mIsDoneLoadingUnknownServers;
49 ::ll::TypedStorage<1, 1, bool> mIsDoneFetchHandler;
50 ::ll::TypedStorage<1, 1, bool> mNeedsRefocus;
51 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastFullServerInfoRefresh;
52 ::ll::TypedStorage<8, 40, ::std::queue<::Social::EduResponseError, ::std::deque<::Social::EduResponseError>>>
54 ::ll::TypedStorage<8, 40, ::std::queue<::Social::EduResponseError, ::std::deque<::Social::EduResponseError>>>
56 ::ll::TypedStorage<8, 32, ::std::string> mBannerErrorString;
57 ::ll::TypedStorage<1, 1, bool> mPopupOpen;
58 ::ll::TypedStorage<8, 32, ::std::string> mAddServerId;
59 ::ll::TypedStorage<8, 32, ::std::string> mJoinServerId;
60 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::EDUAddServerScreenController>> mAddServerScreenController;
61 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::EDUPasscodeEntryScreenController>> mPasscodeEntryScreenController;
65 ::Bedrock::Threading::BasicLockbox<
68 ::Social::EduDedicatedServerDetails,
69 ::std::less<::std::string>,
70 ::std::vector<::std::string>,
71 ::std::vector<::Social::EduDedicatedServerDetails>>,
72 ::Bedrock::Threading::Mutex>>
74 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mCacheFilePath;
75 ::ll::TypedStorage<8, 336, ::TaskGroup> mTaskGroup;
80 EDUServersScreenController& operator=(EDUServersScreenController
const&);
81 EDUServersScreenController(EDUServersScreenController
const&);
82 EDUServersScreenController();
87 virtual ~EDUServersScreenController() ;
89 virtual void onOpen() ;
91 virtual void onTerminate() ;
93 virtual ::ui::DirtyFlag tick() ;
95 virtual ::ui::ViewRequest handleEvent(::ScreenEvent& screenEvent) ;
97 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
103 MCAPI
explicit EDUServersScreenController(::std::shared_ptr<::PlayScreenModel> model);
105 MCAPI
void _closeAddServerModal();
107 MCAPI
void _closePasscodeEntryModal();
109 MCAPI
void _closeSharePopup();
111 MCAPI
void _getCachedServers();
113 MCAPI ::std::optional<::Social::EduDedicatedServerDetails> _getServerDetails(::UIPropertyBag& bag)
const;
115 MCAPI uint64 _getTileIndex(::UIPropertyBag& bag)
const;
117 MCAPI
void _launchShareUri(::std::string
const& uri, ::std::string
const& toastMsg, ::std::string
const& eventName);
119 MCAPI
void _refreshServerInfo(::std::vector<::std::string> serverIds, ::Social::EduRefreshType
const& refreshType);
121 MCAPI
void _refreshServerList();
123 MCAPI
void _registerBindings();
125 MCAPI
void _registerControllerCallbacks();
127 MCAPI
void _registerEventHandlers();
129 MCAPI
void _registerSubControllers();
131 MCAPI
void _removeServer(::UIPropertyBag* bag);
133 MCAPI
void _requestAddServer(::std::string
const& serverId);
135 MCAPI
void _requestJoinServer(::Social::EduDedicatedServerDetails
const& details, ::std::string
const& passcode);
137 MCAPI
void _showAddErrorMessage(::Social::EduResponseError& error);
139 MCAPI
void _showAddServerModal();
141 MCAPI
void _showFetchErrorMessage(::Social::EduResponseError& error);
143 MCAPI
void _showPasscodeEntryModal(::Social::EduDedicatedServerDetails
const& details);
145 MCAPI
void _showRemoveServerModal(::UIPropertyBag* bag);
147 MCAPI
void _showSharePopup(::std::string
const& popupFactory, ::std::string
const& popupName);
149 MCAPI
void _updateServerList(
152 ::Social::EduDedicatedServerDetails,
153 ::std::less<::std::string>,
154 ::std::vector<::std::string>,
155 ::std::vector<::Social::EduDedicatedServerDetails>>
const& servers
162 MCAPI
void* $ctor(::std::shared_ptr<::PlayScreenModel> model);
174 MCAPI
void $onOpen();
176 MCAPI
void $onTerminate();
178 MCAPI ::ui::DirtyFlag $tick();
180 MCAPI ::ui::ViewRequest $handleEvent(::ScreenEvent& screenEvent);
182 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