3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/screens/controllers/MainMenuScreenController.h"
16namespace Json {
class Value; }
23 enum class ItemType : uchar {
28 enum class OptionalFeature : uchar {
31 FindWorldsAndFeedbackButtons = 4,
35 enum class ScreenType : uchar {
40 enum class ErrorType : uchar {
42 LibraryConnection = 1,
49 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::librarySearch::TelemetryData>> mSearchTelemetryData;
50 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::LibraryCollection>> mLibraryCollection;
51 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::LibrarySearchBarScreenController>> mSearchBarSubController;
52 ::ll::TypedStorage<8, 32, ::std::string> mLibraryTitle;
53 ::ll::TypedStorage<8, 32, ::std::string> mLibraryIcon;
54 ::ll::TypedStorage<8, 32, ::std::string> mLibraryPageDescription;
55 ::ll::TypedStorage<8, 32, ::std::string> mCategoryTitle;
56 ::ll::TypedStorage<1, 1, ::LibraryScreenController::ItemType> mItemType;
57 ::ll::TypedStorage<1, 1, ::LibraryScreenController::OptionalFeature> mOptionalFeatures;
58 ::ll::TypedStorage<1, 1, ::LibraryScreenController::ScreenType> mScreenType;
59 ::ll::TypedStorage<1, 1, ::LibraryScreenController::ErrorType> mCurrentError;
60 ::ll::TypedStorage<1, 1, bool> mFetchComplete;
61 ::ll::TypedStorage<1, 1, bool> mShowingWelcome;
66 LibraryScreenController();
71 virtual ~LibraryScreenController() =
default;
73 virtual void addStaticScreenVars(::Json::Value& globalVars) ;
75 virtual void onOpen() ;
77 virtual void onInit() ;
79 virtual ::ui::DirtyFlag tick() ;
85 MCAPI LibraryScreenController(
86 ::std::shared_ptr<::MainMenuScreenModel> model,
87 ::std::shared_ptr<::LibraryCollection> collection,
88 ::LibraryScreenController::OptionalFeature optionalFeatures
91 MCAPI LibraryScreenController(
92 ::std::shared_ptr<::MainMenuScreenModel> model,
93 ::std::shared_ptr<::LibraryCollection> collection,
94 ::std::string
const& title,
95 ::std::string
const& icon,
96 ::std::string
const& pageDescription,
97 ::LibraryScreenController::OptionalFeature optionalFeatures
100 MCAPI LibraryScreenController(
101 ::std::shared_ptr<::MainMenuScreenModel> model,
102 ::std::shared_ptr<::LibraryCollection> collection,
103 ::std::string
const& title,
104 ::std::string
const& icon,
105 ::std::string
const& pageDescription,
106 ::std::string
const& categoryTitle,
107 ::LibraryScreenController::OptionalFeature optionalFeatures
110 MCAPI ::LibraryItem* _getItem(::UIPropertyBag& bag)
const;
112 MCAPI
void _initialize();
114 MCAPI
void _initializeLibraryCollection(::std::shared_ptr<::LibraryCollection> libraryCollection);
121 ::std::shared_ptr<::MainMenuScreenModel> model,
122 ::std::shared_ptr<::LibraryCollection> collection,
123 ::LibraryScreenController::OptionalFeature optionalFeatures
127 ::std::shared_ptr<::MainMenuScreenModel> model,
128 ::std::shared_ptr<::LibraryCollection> collection,
129 ::std::string
const& title,
130 ::std::string
const& icon,
131 ::std::string
const& pageDescription,
132 ::LibraryScreenController::OptionalFeature optionalFeatures
136 ::std::shared_ptr<::MainMenuScreenModel> model,
137 ::std::shared_ptr<::LibraryCollection> collection,
138 ::std::string
const& title,
139 ::std::string
const& icon,
140 ::std::string
const& pageDescription,
141 ::std::string
const& categoryTitle,
142 ::LibraryScreenController::OptionalFeature optionalFeatures
149 MCAPI
void $addStaticScreenVars(::Json::Value& globalVars);
151 MCAPI
void $onOpen();
153 MCAPI
void $onInit();
155 MCAPI ::ui::DirtyFlag $tick();
Definition LibraryCollection.h:5
Definition LibraryItem.h:5
Definition LibraryScreenController.h:5
Definition LibrarySearchBarScreenController.h:5
Definition MainMenuScreenController.h:5
Definition MainMenuScreenModel.h:5
Definition UIPropertyBag.h:5
Definition TelemetryData.h:7