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;
22class RectangleArea;
23class ScreenContext;
24class TaskGroup;
27struct ScreenSizeData;
30namespace OreUI::Debug { class ISceneDataProvider; }
31// clang-format on
32
33class AbstractScene {
34public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<4, 4, uint> mSceneId;
38 // NOLINTEND
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual ~AbstractScene();
44
45 virtual void init(::ScreenSizeData const& screenSizeData) = 0;
46
47 virtual void setSize(::ScreenSizeData const& screenSizeData) = 0;
48
49 virtual void onSetKeyboardHeight(float keyboardHeight) = 0;
50
51 virtual void onInternetUpdate() = 0;
52
53 virtual ::std::vector<::RectangleArea> getInputAreas() const = 0;
54
55 virtual void onFocusGained() = 0;
56
57 virtual void onFocusLost() = 0;
58
59 virtual void terminate() = 0;
60
61 virtual void onCreation() = 0;
62
63 virtual void onLeave() = 0;
64
65 virtual void onGameEventNotification(::ui::GameEventNotification notification) = 0;
66
67 virtual void leaveScreen() = 0;
68
69 virtual void preFrameTick() = 0;
70
71 virtual void tick(int nTick, int maxTick) = 0;
72
73 virtual void applyInput(float a) = 0;
74
75 virtual void frameUpdate(::MinecraftUIFrameUpdateContext& frameUpdateContext) = 0;
76
77 virtual void preRenderUpdate(::ScreenContext& screenContext) = 0;
78
79 virtual void prepareFrame(::ScreenContext& screenContext) = 0;
80
81 virtual void render(::ScreenContext& screenContext, ::FrameRenderObject const& renderObj) = 0;
82
83 virtual void postRenderUpdate(::ScreenContext& screenContext) = 0;
84
85 virtual void handleInputModeChanged(::InputMode inputMode) = 0;
86
87 virtual void handleButtonPress(uint buttonId, ::FocusImpact focusImpact) = 0;
88
89 virtual void handleButtonRelease(uint buttonId, ::FocusImpact focusImpact) = 0;
90
91 virtual void handleRawInputEvent(int id, ::RawInputType keyType, ::ButtonState state, bool allowRemapping) = 0;
92
93 virtual bool
94 handlePointerLocation(::PointerLocationEventData const& pointerLocationData, ::FocusImpact focusImpact) = 0;
95
96 virtual void handlePointerPressed(bool pressed) = 0;
97
98 virtual void handleDirection(::DirectionId directionId, float x, float y, ::FocusImpact focusImpact) = 0;
99
100 virtual void handleTextChar(::std::string const& inputUtf8, ::FocusImpact focusImpact) = 0;
101
102 virtual void handleCaretLocation(int caretLocation, ::FocusImpact focusImpact) = 0;
103
104 virtual void handleTouchPadTouch(::TouchPadTouchEventData const& touchEventData, ::FocusImpact focusImpact) = 0;
105
106 virtual void setTextboxText(::std::string const& text, ::TextboxTextUpdateReason reason) = 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& controlName) 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 comparison) const = 0;
159
160 virtual bool containsScreenNameSubstring(::std::string_view substring) 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>& eventProperties) const = 0;
169
170 virtual int getScreenVersion() const = 0;
171
172 virtual void processBufferedTextCharEvents(::std::vector<::TextCharEventData> const& bufferedEvents) = 0;
173
174 virtual bool getShouldSendEvents() = 0;
175
176 virtual void setShouldSendEvents(bool sendEvents) = 0;
177
178 virtual bool getWantsTextOnly() = 0;
179
180 virtual void setWantsTextOnly(bool textOnly) = 0;
181
182 virtual void onDelete(::CachedScenes& cache, ::TaskGroup& 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
201 onScreenExit(bool isPopping, bool doScreenTransitions, ::std::shared_ptr<::AbstractScene> pushedScene) = 0;
202
203 virtual void onScreenEntrance(bool isRevisiting, bool doScreenTransitions) = 0;
204
205 virtual bool isEntering() const = 0;
206
207 virtual bool isExiting() const = 0;
208
209 virtual void schedulePop() = 0;
210
211 virtual bool isTerminating() const = 0;
212
213 virtual bool loadScreenImmediately() const = 0;
214
215 virtual bool forceUpdateActiveSceneStackWhenPushed() const = 0;
216
217 virtual bool hasFinishedLoading() const = 0;
218
219 virtual void sendScreenEvent(::std::string const& eventName, ::std::string const& eventData) = 0;
220
221 virtual void
222 setScreenState(::std::vector<::std::pair<::std::string_view, ::std::string_view>> const& routeQueryParameters) = 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 MinecraftUIFrameUpdateContext.h:5
Definition ISceneDataProvider.h:7
Definition RectangleArea.h:5
Definition ScreenContext.h:5
Definition TaskGroup.h:57
Definition FrameRenderObject.h:5
Definition PointerLocationEventData.h:8
Definition ScreenSizeData.h:5
Definition TextCharEventData.h:5
Definition TouchPadTouchEventData.h:5