LeviLamina
Loading...
Searching...
No Matches
BrushShapeManagerServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/BrushElevationMode.h"
7#include "mc/common/editor/DirectionalPlacementMode.h"
8#include "mc/deps/game_refs/WeakRef.h"
9#include "mc/editor/services/native_brush/BrushFlattenMode.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 HashedString;
16class Vec3;
17namespace Editor { class RelativeVolumeListBlockVolume; }
18namespace Editor::BlockMask { class BlockMaskList; }
19namespace Editor::Transactions { class PendingTransaction; }
20// clang-format on
21
22namespace Editor::Services {
23
25public:
26 // virtual functions
27 // NOLINTBEGIN
28 virtual ~BrushShapeManagerServiceProvider() = default;
29
30 virtual ::Editor::RelativeVolumeListBlockVolume const& getCurrentBrushVolume() const = 0;
31
32 virtual void activateBrushTool() = 0;
33
34 virtual void switchBrushPaintMode(::Editor::Brush::BrushPaintMode mode) = 0;
35
36 virtual void setBrushShape(::std::vector<::Vec3> const& shapeOffsets) = 0;
37
38 virtual void setBrushShape(::Editor::RelativeVolumeListBlockVolume const& volume) = 0;
39
40 virtual void setBrushMask(::Editor::BlockMask::BlockMaskList const& mask) = 0;
41
42 virtual void beginPainting(::std::function<void(::Editor::Brush::BrushPaintCompletionState)> fnCallback) = 0;
43
44 virtual void endPainting(bool const cancelled) = 0;
45
46 virtual void singlePaint(::std::function<void(::Editor::Brush::BrushPaintCompletionState)> fnCallback) = 0;
47
48 virtual void deactivateBrushTool() = 0;
49
50 virtual void setBrushShapeOffset(::Vec3 const& offset) = 0;
51
52 virtual ::Vec3 getBrushShapeOffset() const = 0;
53
54 virtual void setTerrainStrength(int const terrainStrength) = 0;
55
56 virtual void setFlattenMode(::Editor::Brush::BrushFlattenMode flattenMode) = 0;
57
58 virtual void setFlattenSmoothing(int const flattenSmoothing) = 0;
59
60 virtual void setFloorBlockOverride(bool const floorBlockOverride) = 0;
61
62 virtual void setElevationMode(::Editor::Brush::BrushElevationMode elevationMode) = 0;
63
64 virtual void setElevationFalloff(int const elevationFalloff) = 0;
65
66 virtual void setElevationSampleLayers(int const elevationSampleLayers) = 0;
67
68 virtual void setElevationBrushRadius(int const elevationBrushRadius) = 0;
69
70 virtual void setBrushShapeVisible(bool const visible) = 0;
71
72 virtual bool isBusy() = 0;
73
74 virtual void setDirectionalPlacementMode(::Editor::Brush::DirectionalPlacementMode directionalPlacementMode) = 0;
75
76 virtual ::Editor::Brush::DirectionalPlacementMode getDirectionalPlacementMode() const = 0;
77
78 virtual void setInverseEraseMode(bool const inverseErase) = 0;
79
80 virtual bool getInverseEraseMode() const = 0;
81
82 virtual void setItemPlacement(::HashedString const& itemName) = 0;
83
84 virtual ::HashedString const& getItemPlacement() const = 0;
85
86 virtual bool const isItemPlacementActive() const = 0;
87
88 virtual void setPendingTransaction(::WeakRef<::Editor::Transactions::PendingTransaction> transaction) = 0;
89
90 virtual void pushBlockStateOverride(
91 ::HashedString const& stateName,
92 ::std::variant<int, ::std::string, bool> const& stateValue
93 ) = 0;
94
95 virtual void clearBlockStateOverrides() = 0;
96
97 virtual void setBlockFacePlacementBasedOnCamera(bool const enable) = 0;
98 // NOLINTEND
99};
100
101} // namespace Editor::Services
Definition BlockMaskList.h:13
Definition RelativeVolumeListBlockVolume.h:24
Definition BrushShapeManagerServiceProvider.h:24
Definition PendingTransaction.h:21
Definition HashedString.h:5
Definition Vec3.h:10
Definition WeakRef.h:8