Skip to content
LeviMC
English
AutoLightDark
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/levelgen/structure/StructureEditorData.h"
12#include "mc/world/level/levelgen/structure/StructureTelemetryClientData.h"
13
14// auto generated forward declare list
15// clang-format off
18class Player;
20struct ActorUniqueID;
22namespace Json { class Value; }
23// clang-format on
24
26public:
27 // StructureEditorScreenController inner types define
28 enum class FilePickerType : uchar {
29 Export = 0,
30 Import = 1,
31 };
32
33public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<4, 12, ::BlockPos const> mBlockPos;
37 ::ll::TypedStorage<1, 1, bool> mAnimationModeDropdownActive;
38 ::ll::TypedStorage<1, 1, bool> mRedstoneDropdownActive;
39 ::ll::TypedStorage<1, 1, bool> mModeDropDownActive;
40 ::ll::TypedStorage<1, 1, bool> mTextBoxEditing;
41 ::ll::TypedStorage<1, 1, bool> mExportCompleted;
42 ::ll::TypedStorage<1, 1, bool> mExportSucceeded;
43 ::ll::TypedStorage<1, 1, bool> mRenderedStructure;
44 ::ll::TypedStorage<1, 1, bool> mIsExporting;
45 ::ll::TypedStorage<1, 1, bool> mIsImporting;
46 ::ll::TypedStorage<1, 1, bool> mNeedsBindsUpdate;
47 ::ll::TypedStorage<1, 1, bool> mMirrorX;
48 ::ll::TypedStorage<1, 1, bool> mMirrorZ;
49 ::ll::TypedStorage<1, 1, bool> mStructureExists;
50 ::ll::TypedStorage<1, 1, bool> mHasOpened;
51 ::ll::TypedStorage<1, 1, bool> mTrigger3dExport;
52 ::ll::TypedStorage<1, 1, bool const> m3DExportSupport;
53 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::MinecraftglTFExporter>> mglTFExporter;
54 ::ll::TypedStorage<8, 216, ::StructureEditorData> mStructureEditorData;
55 ::ll::TypedStorage<8, 8, ::StructureTemplate*> mImportingStructureTemplate;
56 ::ll::TypedStorage<4, 16, ::StructureTelemetryClientData> mTelemetryClientData;
57 ::ll::TypedStorage<8, 32, ::std::string> mAnimationTimeString;
58 ::ll::TypedStorage<8, 32, ::std::string> mSeedString;
59 ::ll::TypedStorage<1, 1, bool> mShouldUseFilteredMessage;
60 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mProfanityToggleSubscription;
61 // NOLINTEND
62
63public:
64 // prevent constructor by default
65 StructureEditorScreenController();
66
67public:
68 // virtual functions
69 // NOLINTBEGIN
70 virtual ~StructureEditorScreenController() /*override*/ = default;
71
72 virtual void onOpen() /*override*/;
73
74 virtual void onLeave() /*override*/;
75
76 virtual ::ui::DirtyFlag tick() /*override*/;
77
78 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
79
80 virtual ::ui::DirtyFlag handleGameEventNotification(::ui::GameEventNotification notification) /*override*/;
81
82 virtual ::std::string _getButtonADescription() /*override*/;
83 // NOLINTEND
84
85public:
86 // member functions
87 // NOLINTBEGIN
89 ::std::shared_ptr<::ClientInstanceScreenModel> model,
90 ::Player& player,
91 ::BlockPos const& pos,
92 ::ActorUniqueID uniqueId
93 );
94
95 MCNAPI void _filePicker(::StructureEditorScreenController::FilePickerType op);
96
97 MCNAPI ::std::string _getTextEditValue(::TextEditScreenEventData& textEditEvent) const;
98
100
101 MCNAPI void _setSeedFromString();
102 // NOLINTEND
103
104public:
105 // static functions
106 // NOLINTBEGIN
107 MCNAPI static float _getTextEditValueAsFloat(::TextEditScreenEventData& textEditEvent);
108
109 MCNAPI static int _getTextEditValueAsInt(::TextEditScreenEventData& textEditEvent);
110 // NOLINTEND
111
112public:
113 // constructor thunks
114 // NOLINTBEGIN
115 MCNAPI void* $ctor(
116 ::std::shared_ptr<::ClientInstanceScreenModel> model,
117 ::Player& player,
118 ::BlockPos const& pos,
119 ::ActorUniqueID uniqueId
120 );
121 // NOLINTEND
122
123public:
124 // virtual function thunks
125 // NOLINTBEGIN
126 MCNAPI void $onOpen();
127
128 MCNAPI void $onLeave();
129
130 MCNAPI ::ui::DirtyFlag $tick();
131
132 MCNAPI void $addStaticScreenVars(::Json::Value& globalVars);
133
134 MCNAPI ::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification);
135
136 MCNAPI ::std::string $_getButtonADescription();
137 // NOLINTEND
138};
Definition BlockPos.h:14
Definition BlockScreenController.h:5
Definition ClientInstanceScreenModel.h:5
Definition Value.h:16
Definition MinecraftglTFExporter.h:5
Definition Player.h:131
Definition StructureEditorScreenController.h:5
MCAPI::ui::DirtyFlag $handleGameEventNotification(::ui::GameEventNotification notification)
MCAPI::ui::DirtyFlag $tick()
MCAPI StructureEditorScreenController(::std::shared_ptr<::ClientInstanceScreenModel > model, ::Player &player, ::BlockPos const &pos, ::ActorUniqueID uniqueId)
MCAPI void _filePicker(::StructureEditorScreenController::FilePickerType op)
MCAPI void * $ctor(::std::shared_ptr<::ClientInstanceScreenModel > model, ::Player &player, ::BlockPos const &pos, ::ActorUniqueID uniqueId)
MCAPI::std::string $_getButtonADescription()
static MCAPI float _getTextEditValueAsFloat(::TextEditScreenEventData &textEditEvent)
MCAPI::std::string _getTextEditValue(::TextEditScreenEventData &textEditEvent) const
static MCAPI int _getTextEditValueAsInt(::TextEditScreenEventData &textEditEvent)
MCAPI void $addStaticScreenVars(::Json::Value &globalVars)
Definition StructureTemplate.h:35
Definition ActorUniqueID.h:5
Definition TextEditScreenEventData.h:5