LeviLamina
Loading...
Searching...
No Matches
ScriptBrushShapeManagerService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/binding_type/ClassBindingBuilder.h"
7#include "mc/deps/scripting/lifetime_registry/StrongTypedObjectHandle.h"
8#include "mc/deps/scripting/runtime/Result.h"
9#include "mc/deps/scripting/script_engine/Closure.h"
10#include "mc/editor/services/native_brush/BrushPaintCompletionState.h"
11#include "mc/editor/services/native_brush/BrushPaintMode.h"
12
13// auto generated forward declare list
14// clang-format off
15class Player;
16class Vec3;
17namespace Editor::ScriptModule { class ScriptBlockMaskList; }
18namespace Editor::ScriptModule { class ScriptBrushShape; }
19namespace Editor::ScriptModule { class ScriptUIElement; }
20namespace Editor::Services { class BrushShapeManagerServiceProvider; }
21namespace ScriptModuleMinecraft { class ScriptCompoundBlockVolume; }
22namespace Scripting { class WeakLifetimeScope; }
23namespace Scripting { struct Error; }
24// clang-format on
25
26namespace Editor::ScriptModule {
27
29public:
30 // member variables
31 // NOLINTBEGIN
38 // NOLINTEND
39
40public:
41 // prevent constructor by default
44
45public:
46 // member functions
47 // NOLINTBEGIN
49
52 ::Player& player,
54 );
55
56 MCAPI void _onBrushPaintCompletion(::Editor::Brush::BrushPaintCompletionState state);
57
58 MCFOLD void activateBrushTool();
59
60 MCAPI ::Scripting::Result<void, ::Scripting::Error>
61 beginPainting(::Scripting::Closure<void(::Editor::Brush::BrushPaintCompletionState)> const& closureEvent);
62
63 MCAPI void deactivateBrushTool();
64
65 MCAPI ::Scripting::Result<void, ::Scripting::Error> endPainting(bool cancelled);
66
67 MCAPI ::std::vector<::Editor::ScriptModule::ScriptBrushShape> getBrushShapeList() const;
68
69 MCAPI ::std::optional<::Editor::ScriptModule::ScriptBrushShape> getCurrentBrushShape();
70
71 MCAPI ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptCompoundBlockVolume>>
72 getCurrentBrushVolume();
73
74 MCAPI ::Scripting::Result<
75 ::std::vector<::Scripting::StrongTypedObjectHandle<::Editor::ScriptModule::ScriptUIElement>>,
77 getSettingsUIElements(::std::string const& brushName);
78
79 MCAPI ::Scripting::Result<void, ::Scripting::Error> registerBrushShape(
80 ::std::string const& name,
81 ::std::string const& icon,
83 rebuild,
86 getSettingsUI
87 );
88
89 MCAPI ::Scripting::Result<void, ::Scripting::Error>
90 setBrushMask(::Editor::ScriptModule::ScriptBlockMaskList const& mask);
91
92 MCAPI void
93 setBrushShape(::std::variant<
94 ::std::vector<::Vec3>,
96 );
97
98 MCFOLD void setFlattenHeight(int flattenHeight);
99
100 MCFOLD void setFlattenRadius(int flattenRadius);
101
102 MCFOLD void setTerrainStrength(int terrainStrength);
103
104 MCAPI ::Scripting::Result<void, ::Scripting::Error>
105 singlePaint(::Scripting::Closure<void(::Editor::Brush::BrushPaintCompletionState)> const& closureEvent);
106
107 MCAPI void switchBrushPaintMode(::Editor::Brush::BrushPaintMode mode);
108
109 MCAPI ::Scripting::Result<
112 switchBrushShape(::std::string const& brushName);
113
114 MCAPI ::Scripting::Result<bool, ::Scripting::Error> uiElementValueChanged(
115 ::std::string const& elementName,
116 ::std::variant<float, bool, ::Vec3, ::std::string> newValue
117 );
118
120 // NOLINTEND
121
122public:
123 // static functions
124 // NOLINTBEGIN
125 MCAPI static ::Scripting::ClassBindingBuilder<::Editor::ScriptModule::ScriptBrushShapeManagerService> bindScript();
126 // NOLINTEND
127
128public:
129 // constructor thunks
130 // NOLINTBEGIN
132
133 MCAPI void* $ctor(
135 ::Player& player,
137 );
138 // NOLINTEND
139
140public:
141 // destructor thunk
142 // NOLINTBEGIN
143 MCAPI void $dtor();
144 // NOLINTEND
145};
146
147} // namespace Editor::ScriptModule
Definition ScriptBlockMaskList.h:12
Definition ScriptBrushShapeManagerService.h:28
Definition BrushShapeManagerServiceProvider.h:25
Definition Player.h:119
Definition Closure.h:8
Definition StrongTypedObjectHandle.h:8
Definition WeakLifetimeScope.h:12
Definition Vec3.h:10
Definition Error.h:7
Definition Alias.h:14