LeviLamina
Loading...
Searching...
No Matches
AbstractScene.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/GameEventNotification.h"
7#include "mc/client/gui/SceneType.h"
8#include "mc/client/renderer/screen/EyeRenderingModeBit.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/input/InputMode.h"
11#include "mc/deps/input/TextboxTextUpdateReason.h"
12#include "mc/deps/input/enums/ButtonState.h"
13#include "mc/deps/input/enums/DirectionId.h"
14#include "mc/deps/input/enums/FocusImpact.h"
15#include "mc/deps/input/enums/RawInputType.h"
16
17// auto generated forward declare list
18// clang-format off
20class CachedScenes;
21class RectangleArea;
22class ScreenContext;
23class TaskGroup;
27struct ScreenSizeData;
30namespace OreUI { struct ViewDebugSettings; }
31namespace OreUI::Debug { class ISceneDataProvider; }
32// clang-format on
33
34class AbstractScene {
35public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<4, 4, uint> mSceneId;
39 // NOLINTEND
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ~AbstractScene();
45
46 virtual void init(::ScreenSizeData const&) = 0;
47
48 virtual void setSize(::ScreenSizeData const&) = 0;
49
50 virtual void onSetKeyboardHeight(float) = 0;
51
52 virtual void onInternetUpdate() = 0;
53
54 virtual ::std::vector<::RectangleArea> getInputAreas() const = 0;
55
56 virtual void onFocusGained() = 0;
57
58 virtual void onFocusLost() = 0;
59
60 virtual void terminate() = 0;
61
62 virtual void onCreation() = 0;
63
64 virtual void onLeave() = 0;
65
66 virtual void onGameEventNotification(::ui::GameEventNotification) = 0;
67
68 virtual void leaveScreen() = 0;
69
70 virtual void preFrameTick() = 0;
71
72 virtual void tick(int, int) = 0;
73
74 virtual void applyInput(float) = 0;
75
76 virtual void frameUpdate(::MinecraftUIFrameUpdateContext&) = 0;
77
78 virtual void preRenderUpdate(::ScreenContext&) = 0;
79
80 virtual void prepareFrame(::ScreenContext&) = 0;
81
82 virtual void render(::ScreenContext&, ::FrameRenderObject const&) = 0;
83
84 virtual void postRenderUpdate(::ScreenContext&) = 0;
85
86 virtual void handleInputModeChanged(::InputMode) = 0;
87
88 virtual void handleButtonPress(uint, ::FocusImpact) = 0;
89
90 virtual void handleButtonRelease(uint, ::FocusImpact) = 0;
91
92 virtual void handleRawInputEvent(int, ::RawInputType, ::ButtonState, bool) = 0;
93
94 virtual bool handlePointerLocation(::PointerLocationEventData const&, ::FocusImpact) = 0;
95
96 virtual void handlePointerPressed(bool) = 0;
97
98 virtual void handleDirection(::DirectionId, float, float, ::FocusImpact) = 0;
99
100 virtual void handleTextChar(::std::string const&, ::FocusImpact) = 0;
101
102 virtual void handleCaretLocation(int, ::FocusImpact) = 0;
103
104 virtual void handleTouchPadTouch(::TouchPadTouchEventData const&, ::FocusImpact) = 0;
105
106 virtual void setTextboxText(::std::string const&, ::TextboxTextUpdateReason) = 0;
107
108 virtual void onKeyboardDismissed() = 0;
109
110 virtual void handleLicenseChanged() = 0;
111
112 virtual bool renderGameBehind() const = 0;
113
114 virtual bool absorbsInput() const = 0;
115
116 virtual bool closeOnPlayerHurt() const = 0;
117
118 virtual bool useCustomPocketToast() const = 0;
119
120 virtual bool isModal() const = 0;
121
122 virtual bool isEditorMode() const = 0;
123
124 virtual bool isShowingMenu() const = 0;
125
126 virtual bool shouldStealMouse() const = 0;
127
128 virtual bool screenIsNotFlushable() const = 0;
129
130 virtual bool alwaysAcceptsInput() const = 0;
131
132 virtual bool screenDrawsLast() const = 0;
133
134 virtual bool isPlayScreen() const = 0;
135
136 virtual bool renderOnlyWhenTopMost() const = 0;
137
138 virtual bool lowFreqRendering() const = 0;
139
140 virtual bool ignoreAsTop() const = 0;
141
142 virtual bool shouldBeSkippedInAutomation() const = 0;
143
144 virtual int getWidth() = 0;
145
146 virtual int getHeight() = 0;
147
148 virtual void reload() = 0;
149
150 virtual ::RectangleArea getAreaOfControlByName(::std::string const&) const = 0;
151
152 virtual ::EyeRenderingModeBit getEyeRenderingMode() const = 0;
153
154 virtual ::ui::SceneType getSceneType() const = 0;
155
156 virtual ::std::string getScreenName() const = 0;
157
158 virtual bool equalsScreenName(::std::string_view) const = 0;
159
160 virtual bool containsScreenNameSubstring(::std::string_view) const = 0;
161
162 virtual ::std::string getRawScreenName() const = 0;
163
164 virtual ::std::string getRoute() const = 0;
165
166 virtual ::std::string getScreenTelemetryName() const = 0;
167
168 virtual void addEventProperties(::std::unordered_map<::std::string, ::std::string>&) const = 0;
169
170 virtual int getScreenVersion() const = 0;
171
172 virtual void processBufferedTextCharEvents(::std::vector<::TextCharEventData> const&) = 0;
173
174 virtual bool getShouldSendEvents() = 0;
175
176 virtual void setShouldSendEvents(bool) = 0;
177
178 virtual bool getWantsTextOnly() = 0;
179
180 virtual void setWantsTextOnly(bool) = 0;
181
182 virtual void onDelete(::CachedScenes&, ::TaskGroup&) = 0;
183
184 virtual bool isGamepadCursorEnabled() const = 0;
185
186 virtual bool isGamepadDeflectionModeEnabled() const = 0;
187
188 virtual ::glm::vec2 const& getGamepadCursorPosition() const = 0;
189
190 virtual void cleanInputComponents() = 0;
191
192 virtual ::std::weak_ptr<::AbstractSceneProxy> getProxy() = 0;
193
194 virtual bool canBePushed() const = 0;
195
196 virtual bool canBePopped() const = 0;
197
198 virtual bool canBeTransitioned() const = 0;
199
200 virtual void onScreenExit(bool, bool, ::std::shared_ptr<::AbstractScene>) = 0;
201
202 virtual void onScreenEntrance(bool, bool) = 0;
203
204 virtual bool isEntering() const = 0;
205
206 virtual bool isExiting() const = 0;
207
208 virtual void schedulePop() = 0;
209
210 virtual bool isTerminating() const = 0;
211
212 virtual bool loadScreenImmediately() const = 0;
213
214 virtual bool forceUpdateActiveSceneStackWhenPushed() const = 0;
215
216 virtual bool hasFinishedLoading() const = 0;
217
218 virtual void sendScreenEvent(::std::string const&, ::std::string const&) = 0;
219
220 virtual void setScreenState(::std::vector<::std::pair<::std::string_view, ::std::string_view>> const&) = 0;
221
222 virtual void setDebugSettings(::OreUI::ViewDebugSettings const&) const = 0;
223
224 virtual ::Bedrock::NonOwnerPointer<::OreUI::Debug::ISceneDataProvider const> getDebugDataProvider() const = 0;
225 // NOLINTEND
226
227public:
228 // destructor thunk
229 // NOLINTBEGIN
230 MCAPI void $dtor();
231 // NOLINTEND
232
233public:
234 // virtual function thunks
235 // NOLINTBEGIN
236
237 // NOLINTEND
238
239public:
240 // vftables
241 // NOLINTBEGIN
242 MCNAPI static void** $vftable();
243 // NOLINTEND
244};
Definition AbstractSceneProxy.h:5
Definition AbstractScene.h:5
static MCAPI void ** $vftable()
Definition CachedScenes.h:5
Definition ISceneDataProvider.h:7
Definition RectangleArea.h:5
Definition ScreenContext.h:5
Definition TaskGroup.h:53
Definition FrameRenderObject.h:5
Definition MinecraftUIFrameUpdateContext.h:5
Definition ViewDebugSettings.h:7
Definition PointerLocationEventData.h:8
Definition ScreenSizeData.h:5
Definition TextCharEventData.h:5
Definition TouchPadTouchEventData.h:5