LeviLamina
Loading...
Searching...
No Matches
WorldTemplatesScreenController.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/ViewRequest.h"
8#include "mc/client/gui/screens/controllers/CreateWorldOrRealm.h"
9#include "mc/client/gui/screens/controllers/MainMenuScreenController.h"
10#include "mc/deps/core/file/PathBuffer.h"
11#include "mc/resources/InvalidPacksFilterGroup.h"
12
13// auto generated forward declare list
14// clang-format off
15class DlcUIWrapper;
17class PlayScreenModel;
19class UIPropertyBag;
20struct PackIdVersion;
22namespace Json { class Value; }
23namespace ui { class ScreenTechStackSelector; }
24// clang-format on
25
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::PlayScreenModel>> mPlayScreenModel;
31 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DlcUIWrapper>> mDlcUIWrapper;
32 ::ll::TypedStorage<8, 32, ::std::string> mFilter;
33 ::ll::TypedStorage<8, 24, ::InvalidPacksFilterGroup> mInvalidPacksFilter;
34 ::ll::TypedStorage<8, 24, ::std::vector<::ResourceLocation>> mInvalidPacks;
35 ::ll::TypedStorage<8, 24, ::std::vector<::ResourceLocation>> mLoadingPacks;
36 ::ll::TypedStorage<8, 24, ::std::vector<::WorldTemplateInfo>> mPremiumTemplates;
37 ::ll::TypedStorage<8, 24, ::std::vector<::WorldTemplateInfo>> mCustomTemplates;
38 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLocalTemplateUpdateTime;
39 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mUpdateTime;
40 ::ll::TypedStorage<4, 4, ::CreateWorldOrRealm> mType;
41 ::ll::TypedStorage<1, 1, bool> mHideTopBar;
42 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PlatformMultiplayerRestrictions>> mPlatformMultiplayerRestrictions;
43 ::ll::TypedStorage<8, 8, ::ui::ScreenTechStackSelector const&> mScreenTechStackSelector;
44 // NOLINTEND
45
46public:
47 // prevent constructor by default
48 WorldTemplatesScreenController& operator=(WorldTemplatesScreenController const&);
49 WorldTemplatesScreenController(WorldTemplatesScreenController const&);
50 WorldTemplatesScreenController();
51
52public:
53 // virtual functions
54 // NOLINTBEGIN
55 virtual ~WorldTemplatesScreenController() /*override*/;
56
57 virtual void onOpen() /*override*/;
58
59 virtual ::ui::DirtyFlag tick() /*override*/;
60
61 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
62
63 virtual int getScreenVersion() const /*override*/;
64 // NOLINTEND
65
66public:
67 // member functions
68 // NOLINTBEGIN
69 MCAPI WorldTemplatesScreenController(
70 ::std::shared_ptr<::PlayScreenModel> model,
71 ::ui::ScreenTechStackSelector const& screenTechStackSelector,
72 bool hideTopBar
73 );
74
75 MCAPI void _createWorldTemplate(::PackIdVersion const& packId, ::std::function<void(bool)> successCallback);
76
77 MCAPI void _fetchDownloadedWorldTemplates();
78
79 MCAPI ::ui::ViewRequest _handleGenerateRandomRealmClicked();
80
81 MCAPI ::ui::ViewRequest _handleInvalidPackClicked(::UIPropertyBag* bag);
82
83 MCAPI void _handleWorldTemplateClicked(::WorldTemplateInfo const& level);
84
85 MCAPI void _registerBindings();
86
87 MCAPI void _registerEventHandlers();
88 // NOLINTEND
89
90public:
91 // static variables
92 // NOLINTBEGIN
93 MCAPI static ::Core::PathBuffer<::std::string> const& DEFAULT_WORLD_SCREENSHOT();
94
95 MCAPI static ::std::string const& INVALID_WORLD_SCREENSHOT();
96 // NOLINTEND
97
98public:
99 // constructor thunks
100 // NOLINTBEGIN
101 MCAPI void* $ctor(
102 ::std::shared_ptr<::PlayScreenModel> model,
103 ::ui::ScreenTechStackSelector const& screenTechStackSelector,
104 bool hideTopBar
105 );
106 // NOLINTEND
107
108public:
109 // destructor thunk
110 // NOLINTBEGIN
111 MCAPI void $dtor();
112 // NOLINTEND
113
114public:
115 // virtual function thunks
116 // NOLINTBEGIN
117 MCAPI void $onOpen();
118
119 MCAPI ::ui::DirtyFlag $tick();
120
121 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
122
123 MCFOLD int $getScreenVersion() const;
124 // NOLINTEND
125
126public:
127 // vftables
128 // NOLINTBEGIN
129 MCNAPI static void** $vftableForScreenController();
130
132 // NOLINTEND
133};
Definition DlcUIWrapper.h:5
Definition Value.h:16
Definition MainMenuScreenController.h:5
Definition PlatformMultiplayerRestrictions.h:5
Definition PlayScreenModel.h:5
Definition ResourceLocation.h:15
Definition UIPropertyBag.h:5
Definition WorldTemplatesScreenController.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition ScreenTechStackSelector.h:7
Definition PackIdVersion.h:10
Definition WorldTemplateInfo.h:12