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