3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/screens/controllers/SettingsScreenControllerBase.h"
8#include "mc/deps/core/file/PathBuffer.h"
9#include "mc/deps/core/threading/BasicLockbox.h"
10#include "mc/deps/core/threading/TaskGroup.h"
11#include "mc/platform/brstd/flat_map.h"
22namespace Bedrock::Threading {
class Mutex; }
23namespace Json {
class Value; }
32 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::PlayScreenModel>> mPlayScreenModel;
33 ::ll::TypedStorage<1, 1, bool> mShowNestedButtons;
34 ::ll::TypedStorage<1, 1, bool> mMatchedServersNeedsRefresh;
35 ::ll::TypedStorage<8, 32, ::std::string> mSearchString;
36 ::ll::TypedStorage<8, 32, ::std::string> mAddServerInfoString;
37 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mMatchedServers;
38 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DlcUIWrapper>> mDlcUIWrapper;
39 ::ll::TypedStorage<8, 8, ::PackManagerContentSource*> mWorldContentSource;
40 ::ll::TypedStorage<8, 8, ::IContentManager&> mContentManager;
41 ::ll::TypedStorage<1, 1, bool> mHasInitializedServerList;
42 ::ll::TypedStorage<1, 1, bool> mIsDoneLoadingServers;
43 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastFullServerInfoRefresh;
44 ::ll::TypedStorage<8, 40, ::std::queue<::Social::EduResponseError, ::std::deque<::Social::EduResponseError>>>
46 ::ll::TypedStorage<1, 1, bool> mPopupOpen;
47 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::EDUAddServerScreenController>> mAddServerScreenController;
48 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::EDUPasswordEntryScreenController>> mPasswordEntryScreenController;
52 ::Bedrock::Threading::BasicLockbox<
55 ::Social::EduDedicatedServerDetails,
56 ::std::less<::std::string>,
57 ::std::vector<::std::string>,
58 ::std::vector<::Social::EduDedicatedServerDetails>>,
59 ::Bedrock::Threading::Mutex>>
61 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mCacheFilePath;
62 ::ll::TypedStorage<8, 336, ::TaskGroup> mTaskGroup;
67 EDUServersScreenController& operator=(EDUServersScreenController
const&);
68 EDUServersScreenController(EDUServersScreenController
const&);
69 EDUServersScreenController();
74 virtual ~EDUServersScreenController() ;
76 virtual void onOpen() ;
78 virtual void onTerminate() ;
80 virtual ::ui::DirtyFlag tick() ;
82 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
88 MCAPI
explicit EDUServersScreenController(::std::shared_ptr<::PlayScreenModel> model);
90 MCAPI
void _closeAddServerModal();
92 MCAPI
void _closePasswordEntryModal();
94 MCAPI
void _closeSharePopup();
96 MCAPI
void _getCachedServers();
98 MCAPI ::std::optional<::Social::EduDedicatedServerDetails> _getServerDetails(::UIPropertyBag& bag)
const;
100 MCAPI uint64 _getTileIndex(::UIPropertyBag& bag)
const;
102 MCAPI
void _joinServer(::UIPropertyBag* bag);
104 MCAPI
void _launchShareUri(::std::string
const& uri, ::std::string
const& toastMsg, ::std::string
const& eventName);
106 MCAPI
void _refreshServerInfo(::std::vector<::std::string> serverIds);
108 MCAPI
void _refreshServerList();
110 MCAPI
void _registerBindings();
112 MCAPI
void _registerControllerCallbacks();
114 MCAPI
void _registerEventHandlers();
116 MCAPI
void _registerSubControllers();
118 MCAPI
void _removeServer(::UIPropertyBag* bag);
120 MCAPI
void _requestAddServer(::std::string
const& serverId);
122 MCAPI
void _requestJoinServer(::Social::EduDedicatedServerDetails
const& details, ::std::string
const& password);
124 MCAPI
void _showAddServerModal();
126 MCAPI
void _showErrorMessage(::Social::EduResponseError& error);
128 MCAPI
void _showPasswordEntryModal(::Social::EduDedicatedServerDetails
const& details);
130 MCAPI
void _showRemoveServerModal(::UIPropertyBag* bag);
132 MCAPI
void _showSharePopup(::std::string
const& popupFactory, ::std::string
const& popupName);
138 MCAPI
void* $ctor(::std::shared_ptr<::PlayScreenModel> model);
150 MCAPI
void $onOpen();
152 MCAPI
void $onTerminate();
154 MCAPI ::ui::DirtyFlag $tick();
156 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
Definition DlcUIWrapper.h:5
Definition EDUAddServerScreenController.h:5
Definition EDUPasswordEntryScreenController.h:5
Definition IContentManager.h:5
Definition PlayScreenModel.h:5
Definition SettingsScreenControllerBase.h:5
Definition PackManagerContentSource.h:5
Definition EduDedicatedServerDetails.h:15
Definition EduResponseError.h:7
Definition UIPropertyBag.h:5