LeviLamina
Loading...
Searching...
No Matches
LibraryScreenController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/screens/controllers/MainMenuScreenController.h"
8
9// auto generated forward declare list
10// clang-format off
12class LibraryItem;
15class UIPropertyBag;
16namespace Json { class Value; }
17namespace librarySearch { struct TelemetryData; }
18// clang-format on
19
21public:
22 // LibraryScreenController inner types define
23 enum class ItemType : uchar {
24 Normal = 0,
25 Large = 1,
26 };
27
28 enum class OptionalFeature : uchar {
29 None = 0,
30 FilterBar = 2,
31 FindWorldsAndFeedbackButtons = 4,
32 WelcomeMessage = 8,
33 };
34
35 enum class ScreenType : uchar {
36 None = 0,
37 Library = 1,
38 };
39
40 enum class ErrorType : uchar {
41 None = 0,
42 LibraryConnection = 1,
43 NoLessonsFound = 2,
44 };
45
46public:
47 // member variables
48 // NOLINTBEGIN
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;
62 // NOLINTEND
63
64public:
65 // prevent constructor by default
66 LibraryScreenController();
67
68public:
69 // virtual functions
70 // NOLINTBEGIN
71 virtual ~LibraryScreenController() /*override*/ = default;
72
73 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
74
75 virtual void onOpen() /*override*/;
76
77 virtual void onInit() /*override*/;
78
79 virtual ::ui::DirtyFlag tick() /*override*/;
80 // NOLINTEND
81
82public:
83 // member functions
84 // NOLINTBEGIN
85 MCAPI LibraryScreenController(
86 ::std::shared_ptr<::MainMenuScreenModel> model,
87 ::std::shared_ptr<::LibraryCollection> collection,
88 ::LibraryScreenController::OptionalFeature optionalFeatures
89 );
90
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
98 );
99
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
108 );
109
110 MCAPI ::LibraryItem* _getItem(::UIPropertyBag& bag) const;
111
112 MCAPI void _initialize();
113
114 MCAPI void _initializeLibraryCollection(::std::shared_ptr<::LibraryCollection> libraryCollection);
115 // NOLINTEND
116
117public:
118 // constructor thunks
119 // NOLINTBEGIN
120 MCAPI void* $ctor(
121 ::std::shared_ptr<::MainMenuScreenModel> model,
122 ::std::shared_ptr<::LibraryCollection> collection,
123 ::LibraryScreenController::OptionalFeature optionalFeatures
124 );
125
126 MCAPI void* $ctor(
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
133 );
134
135 MCAPI void* $ctor(
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
143 );
144 // NOLINTEND
145
146public:
147 // virtual function thunks
148 // NOLINTBEGIN
149 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
150
151 MCAPI void $onOpen();
152
153 MCAPI void $onInit();
154
155 MCAPI ::ui::DirtyFlag $tick();
156 // NOLINTEND
157};
Definition Value.h:16
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