LeviLamina
Loading...
Searching...
No Matches
StructureEditorScreenController.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/GameEventNotification.h"
8#include "mc/client/gui/screens/controllers/BlockScreenController.h"
9#include "mc/deps/core/utility/pub_sub/Subscription.h"
10#include "mc/world/level/BlockPos.h"
11#include "mc/world/level/block/StructureBlockType.h"
12#include "mc/world/level/levelgen/structure/StructureEditorData.h"
13#include "mc/world/level/levelgen/structure/StructureTelemetryClientData.h"
14
15// auto generated forward declare list
16// clang-format off
19class Player;
21struct ActorUniqueID;
23namespace Json { class Value; }
24// clang-format on
25
27public:
28 // StructureEditorScreenController inner types define
29 enum class FilePickerType : uchar {
30 Export = 0,
31 Import = 1,
32 };
33
34public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<4, 12, ::BlockPos const> mBlockPos;
38 ::ll::TypedStorage<1, 1, bool> mAnimationModeDropdownActive;
39 ::ll::TypedStorage<1, 1, bool> mRedstoneDropdownActive;
40 ::ll::TypedStorage<1, 1, bool> mModeDropDownActive;
41 ::ll::TypedStorage<1, 1, bool> mTextBoxEditing;
42 ::ll::TypedStorage<1, 1, bool> mExportCompleted;
43 ::ll::TypedStorage<1, 1, bool> mExportSucceeded;
44 ::ll::TypedStorage<1, 1, bool> mRenderedStructure;
45 ::ll::TypedStorage<1, 1, bool> mIsExporting;
46 ::ll::TypedStorage<1, 1, bool> mIsImporting;
47 ::ll::TypedStorage<1, 1, bool> mNeedsBindsUpdate;
48 ::ll::TypedStorage<1, 1, bool> mMirrorX;
49 ::ll::TypedStorage<1, 1, bool> mMirrorZ;
50 ::ll::TypedStorage<1, 1, bool> mStructureExists;
51 ::ll::TypedStorage<1, 1, bool> mHasOpened;
52 ::ll::TypedStorage<1, 1, bool> mTrigger3dExport;
53 ::ll::TypedStorage<1, 1, bool const> m3DExportSupport;
54 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::MinecraftglTFExporter>> mglTFExporter;
55 ::ll::TypedStorage<8, 216, ::StructureEditorData> mStructureEditorData;
56 ::ll::TypedStorage<8, 8, ::StructureTemplate*> mImportingStructureTemplate;
57 ::ll::TypedStorage<4, 16, ::StructureTelemetryClientData> mTelemetryClientData;
58 ::ll::TypedStorage<8, 32, ::std::string> mAnimationTimeString;
59 ::ll::TypedStorage<8, 32, ::std::string> mSeedString;
60 ::ll::TypedStorage<1, 1, bool> mShouldUseFilteredMessage;
61 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mProfanityToggleSubscription;
62 // NOLINTEND
63
64public:
65 // prevent constructor by default
66 StructureEditorScreenController();
67
68public:
69 // virtual functions
70 // NOLINTBEGIN
71 virtual ~StructureEditorScreenController() /*override*/;
72
73 virtual void onOpen() /*override*/;
74
75 virtual void onLeave() /*override*/;
76
77 virtual ::ui::DirtyFlag tick() /*override*/;
78
79 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
80
81 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification notification) /*override*/;
82
83 virtual ::std::string _getButtonADescription() /*override*/;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
89 MCAPI StructureEditorScreenController(
90 ::std::shared_ptr<::ClientInstanceScreenModel> model,
91 ::Player& player,
92 ::BlockPos const& pos,
93 ::ActorUniqueID uniqueId
94 );
95
96 MCAPI void _filePicker(::StructureEditorScreenController::FilePickerType op);
97
98 MCAPI ::std::string _getBlockTypeIcon();
99
100 MCFOLD ::std::string _getTextEditValue(::TextEditScreenEventData& textEditEvent) const;
101
102 MCAPI float _getTextEditValueAsFloat(::TextEditScreenEventData& textEditEvent) const;
103
104 MCAPI int _getTextEditValueAsInt(::TextEditScreenEventData& textEditEvent) const;
105
106 MCAPI void _initiate3DExport();
107
108 MCAPI void _initiateDetect();
109
110 MCAPI void _initiateExport();
111
112 MCAPI void _initiateFileGeneration();
113
114 MCAPI void _initiateImport();
115
116 MCAPI void _initiateLoad();
117
118 MCAPI void _initiateSave();
119
120 MCAPI void _onBoundsChanged();
121
122 MCAPI void _onStructureTypeChanged(::StructureBlockType newMode);
123
124 MCAPI void _registerAnimationModeDropdown();
125
126 MCAPI void _registerBindings();
127
128 MCAPI void _registerEventHandlers();
129
130 MCAPI void _registerModeDropdown();
131
132 MCAPI void _registerRedstoneDropdown();
133
134 MCAPI void _setSeedFromString();
135
136 MCAPI void _updateStructureBlock(bool trigger);
137
138 MCAPI void _validateAndSetOffset(int newValue, int index);
139
140 MCAPI void _validateAndSetSize(int newValue, int index);
141 // NOLINTEND
142
143public:
144 // constructor thunks
145 // NOLINTBEGIN
146 MCAPI void* $ctor(
147 ::std::shared_ptr<::ClientInstanceScreenModel> model,
148 ::Player& player,
149 ::BlockPos const& pos,
150 ::ActorUniqueID uniqueId
151 );
152 // NOLINTEND
153
154public:
155 // destructor thunk
156 // NOLINTBEGIN
157 MCAPI void $dtor();
158 // NOLINTEND
159
160public:
161 // virtual function thunks
162 // NOLINTBEGIN
163 MCAPI void $onOpen();
164
165 MCAPI void $onLeave();
166
167 MCAPI ::ui::DirtyFlag $tick();
168
169 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
170
171 MCAPI ::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification);
172
173 MCFOLD ::std::string $_getButtonADescription();
174 // NOLINTEND
175
176public:
177 // vftables
178 // NOLINTBEGIN
179 MCNAPI static void** $vftableForScreenController();
180
182 // NOLINTEND
183};
Definition BlockScreenController.h:5
Definition ClientInstanceScreenModel.h:5
Definition Value.h:16
Definition MinecraftglTFExporter.h:5
Definition Player.h:129
Definition StructureEditorScreenController.h:5
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForScreenController()
Definition StructureTemplate.h:35
Definition ActorUniqueID.h:5
Definition TextEditScreenEventData.h:5