3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/GameEventNotification.h"
8#include "mc/client/gui/ViewRequest.h"
9#include "mc/client/gui/screens/controllers/SettingsScreenControllerBase.h"
10#include "mc/client/gui/screens/models/ContentType.h"
11#include "mc/client/gui/screens/models/PackListType.h"
12#include "mc/deps/core/utility/pub_sub/Subscription.h"
13#include "mc/resources/InvalidPacksFilterGroup.h"
14#include "mc/resources/PackScope.h"
36 enum class PackRestriction :
int {
41 using ConstContentItemPtr = ::std::shared_ptr<::ContentItem const>;
43 using ContentItemPtr = ::std::shared_ptr<::ContentItem>;
45 using PackContentItemPtr = ::std::shared_ptr<::PackContentItem>;
47 using ConstPackContentItemPtr = ::std::shared_ptr<::PackContentItem const>;
52 ::ll::TypedStorage<8, 8, ::IContentManager&> mContentManager;
53 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mContentReloadSubscription;
54 ::ll::TypedStorage<8, 8, ::ContentView*> mSelectedContentView;
55 ::ll::TypedStorage<8, 8, ::ContentView*> mAvailableContentView;
56 ::ll::TypedStorage<8, 8, ::ContentView*> mRealmsContentView;
57 ::ll::TypedStorage<8, 8, ::ContentView*> mInvalidContentView;
58 ::ll::TypedStorage<8, 8, ::ContentView*> mUnownedContentView;
59 ::ll::TypedStorage<1, 1, ::PackScope> mScope;
60 ::ll::TypedStorage<8, 8, uint64> mSelectedId;
61 ::ll::TypedStorage<8, 16, ::std::shared_ptr<bool>> mExistanceTracker;
62 ::ll::TypedStorage<8, 8, ::ResourcePacksScreenController*> mOtherPacksTabController;
63 ::ll::TypedStorage<8, 8, ::ContentType> mContentType;
64 ::ll::TypedStorage<4, 4, uint> mIconIndex;
65 ::ll::TypedStorage<1, 1, bool> mChooseFromActive;
66 ::ll::TypedStorage<8, 24, ::InvalidPacksFilterGroup> mInvalidPacksFilter;
67 ::ll::TypedStorage<8, 24, ::std::vector<::ResourceLocation>> mInvalidPacks;
68 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DlcUIWrapper>> mDlcUIWrapper;
69 ::ll::TypedStorage<8, 8, ::MultiplayerLockState&> mMultiplayerState;
70 ::ll::TypedStorage<8, 8, ::std::chrono::seconds const> mTwoSecondInterval;
71 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastIconCycle;
72 ::ll::TypedStorage<1, 1, bool> mSelectedContentUpdated;
73 ::ll::TypedStorage<1, 1, bool> mRepopulateReports;
74 ::ll::TypedStorage<1, 1, bool> mRepopulatingReports;
75 ::ll::TypedStorage<1, 1, bool> mSelectedExpanded;
76 ::ll::TypedStorage<1, 1, bool> mAvailableExpanded;
77 ::ll::TypedStorage<1, 1, bool> mRealmsExpanded;
78 ::ll::TypedStorage<1, 1, bool> mUnownedExpanded;
79 ::ll::TypedStorage<1, 1, bool> mDoNotShowAddonWarning;
80 ::ll::TypedStorage<1, 1, bool> mGetInitialSelectedPacks;
81 ::ll::TypedStorage<8, 24, ::std::vector<::PackIdVersion>> mInitialSelectedPacks;
82 ::ll::TypedStorage<8, 32, ::std::string> mInitialPackId;
83 ::ll::TypedStorage<8, 64, ::std::function<void()>> mCopyWorldCallback;
84 ::ll::TypedStorage<8, 64, ::std::function<bool()>> mIsWorldTemplateOptionLockedCallback;
85 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DlcChecker>> mDlcChecker;
90 ResourcePacksScreenController& operator=(ResourcePacksScreenController
const&);
91 ResourcePacksScreenController(ResourcePacksScreenController
const&);
92 ResourcePacksScreenController();
97 virtual ~ResourcePacksScreenController() =
default;
99 virtual ::ui::DirtyFlag tick() ;
101 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification notification) ;
108 ::std::shared_ptr<::MainMenuScreenModel> model,
115 ::ResourcePacksScreenController* otherPacksTabController,
116 ::std::function<
bool()> templateOptionLockGetter,
117 ::std::function<
void()> copyWorld,
118 ::std::string initialPackId
125 ::PackListType fromPackList,
126 ::ResourcePacksScreenController::PackRestriction restriction
141 ::PackListType fromPackList,
142 bool moveDependencies,
144 ::std::function<
void()> moveCallback
150 ::std::shared_ptr<::PackContentItem>
const& item,
153 ::PackListType fromPackList,
165 ::std::shared_ptr<::PackContentItem>
const& packItem,
168 ::PackListType fromPackList,
185 ::std::shared_ptr<::MainMenuScreenModel> model,
192 ::ResourcePacksScreenController* otherPacksTabController,
193 ::std::function<
bool()> templateOptionLockGetter,
194 ::std::function<
void()> copyWorld,
195 ::std::string initialPackId
Definition ContentView.h:5
Definition DlcChecker.h:5
Definition DlcUIWrapper.h:5
Definition IContentManagerContext.h:5
Definition IContentManager.h:5
Definition MainMenuScreenModel.h:5
Definition MultiplayerLockState.h:5
Definition ResourceLocation.h:15
Definition ResourcePacksScreenController.h:5
MCAPI ResourcePacksScreenController(::std::shared_ptr<::MainMenuScreenModel > model, ::IContentManager &contentManager, ::ContentType type, ::InvalidPacksFilterGroup invalidFilter, ::PackScope scope, ::MultiplayerLockState &multiplayerState, ::IContentManagerContext &contentManagerContext, ::ResourcePacksScreenController *otherPacksTabController, ::std::function< bool()> templateOptionLockGetter, ::std::function< void()> copyWorld, ::std::string initialPackId)
MCAPI void _showMissingDependencyMessage(::ContentView *contentView, int index, ::PackListType fromPacks)
MCAPI void _confirmationRestrictedPacksOnWorldDialog(::PackContentItem &packItem, ::ContentView &contentView, int collectionIndex, ::PackListType fromPackList, ::ResourcePacksScreenController::PackRestriction restriction)
MCAPI void _registerBindings()
MCAPI void _moveResource(::std::shared_ptr<::PackContentItem > const &item, ::ContentView *contentView, int collectionIndex, ::PackListType fromPackList, bool, bool forceMove)
MCAPI void * $ctor(::std::shared_ptr<::MainMenuScreenModel > model, ::IContentManager &contentManager, ::ContentType type, ::InvalidPacksFilterGroup invalidFilter, ::PackScope scope, ::MultiplayerLockState &multiplayerState, ::IContentManagerContext &contentManagerContext, ::ResourcePacksScreenController *otherPacksTabController, ::std::function< bool()> templateOptionLockGetter, ::std::function< void()> copyWorld, ::std::string initialPackId)
MCAPI void _removeSelectedPacks(int beginAtIndex)
MCAPI::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification)
MCAPI void _movePackAfterDataPackWarningMessage(::MoveResourcePackResult result)
MCAPI void activatePack(::std::string const packId)
MCAPI bool _launchPlatformLockedDialogIfNeeded(::PackContentItem &packItem, ::ContentView &contentView, int collectionIndex, ::PackListType fromPackList, bool moveDependencies, bool forceMove, ::std::function< void()> moveCallback)
MCAPI::ui::ViewRequest _handleAvailablePackClicked(::UIPropertyBag *bag)
MCAPI::ui::ViewRequest _handleSortPackClicked(::UIPropertyBag *bag, int dir)
MCAPI::ui::DirtyFlag $tick()
MCAPI void _tryMoveResource(::std::shared_ptr<::PackContentItem > const &packItem, ::ContentView *contentView, int collectionIndex, ::PackListType fromPackList, bool forceMove)
static MCAPI bool _hasRestrictedContent(::ContentView &view)
MCAPI::ContentView * _getContentView(::UIPropertyBag *bag) const
MCAPI::ResourceLocation _getInvalidResource(int slot) const
Definition SettingsScreenControllerBase.h:5
Definition UIPropertyBag.h:5
Definition ContentItem.h:5
Definition InvalidPacksFilterGroup.h:5
Definition MoveResourcePackResult.h:5
Definition PackContentItem.h:5
Definition PackIdVersion.h:10