LeviLamina
Loading...
Searching...
No Matches
ScriptDebugShape.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/deps/core/utility/AutomaticID.h"
8#include "mc/deps/scripting/lifetime_registry/StrongTypedObjectHandle.h"
9#include "mc/scripting/modules/minecraft/ScriptRGB.h"
10#include "mc/scripting/modules/minecraft/debugdrawer/ScriptDebugShapeType.h"
11
12// auto generated forward declare list
13// clang-format off
14class Dimension;
15struct ShapeDataPayload;
16namespace ScriptModuleMinecraft { class ScriptDimension; }
17namespace ScriptModuleMinecraft { class ScriptPlayer; }
18namespace ScriptModuleMinecraft { struct ScriptDimensionLocation; }
19namespace Scripting { struct ClassBinding; }
20// clang-format on
21
22namespace ScriptModuleDebugUtilities {
23
24class ScriptDebugShape {
25public:
26 // ScriptDebugShape inner types define
27 enum class Flags : uint {
28 Remove = 1,
29 New = 2,
30 UpdateLocation = 4,
31 UpdateScale = 8,
32 UpdateRotation = 16,
33 UpdateTimeleft = 32,
34 UpdateColor = 64,
35 UpdateText = 128,
36 UpdateBoxBound = 256,
37 UpdateLineEndLocation = 512,
38 UpdateArrowHeadLength = 1024,
39 UpdateArrowHeadRadius = 2048,
40 UpdateSegmentCount = 4096,
41 SerializeAll = 4294967294,
42 };
43
44 using FlagsStorage = uint;
45
46public:
47 // member variables
48 // NOLINTBEGIN
49 ::ll::TypedStorage<1, 1, ::ScriptModuleDebugUtilities::ScriptDebugShapeType> mShapeType;
50 ::ll::TypedStorage<8, 32, ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptDimension>>
51 mDimension;
52 ::ll::TypedStorage<4, 4, ::DimensionType> mDimensionId;
53 ::ll::TypedStorage<4, 12, ::Vec3> mLocation;
54 ::ll::TypedStorage<4, 12, ::Vec3> mRotation;
55 ::ll::TypedStorage<4, 4, float> mScale;
56 ::ll::TypedStorage<4, 24, ::ScriptModuleMinecraft::ScriptRGB> mColor;
57 ::ll::TypedStorage<4, 8, ::std::optional<float>> mTimeLeftSec;
58 ::ll::TypedStorage<4, 8, ::std::optional<float>> mTimeLeftTotalSec;
59 ::ll::
60 TypedStorage<8, 24, ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptPlayer>>>
61 mVisibleTo;
62 ::ll::TypedStorage<8, 8, uint64> mNetworkId;
63 ::ll::TypedStorage<4, 4, uint> mFlags;
64 ::ll::TypedStorage<1, 1, bool> mExistsInWorld;
65 // NOLINTEND
66
67public:
68 // prevent constructor by default
69 ScriptDebugShape();
70
71public:
72 // virtual functions
73 // NOLINTBEGIN
74 virtual ~ScriptDebugShape();
75
76 virtual void populatePacketData(::ShapeDataPayload& packet) const;
77
78 virtual void applyUpdatedData(::ShapeDataPayload const& packet);
79 // NOLINTEND
80
81public:
82 // member functions
83 // NOLINTBEGIN
84 MCAPI ScriptDebugShape(::ScriptModuleDebugUtilities::ScriptDebugShape const&);
85
86 MCAPI explicit ScriptDebugShape(::ScriptModuleDebugUtilities::ScriptDebugShapeType shapeType);
87
88 MCAPI ScriptDebugShape(
89 ::ScriptModuleDebugUtilities::ScriptDebugShapeType shapeType,
90 ::std::variant<::ScriptModuleMinecraft::ScriptDimensionLocation, ::Vec3> const& location
91 );
92
93 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptDimension> getDimension() const;
94
95 MCAPI ::ScriptModuleDebugUtilities::ScriptDebugShape&
97
98 MCAPI void setLocation(::std::variant<::ScriptModuleMinecraft::ScriptDimensionLocation, ::Vec3> const& location);
99 // NOLINTEND
100
101public:
102 // static functions
103 // NOLINTBEGIN
104 MCAPI static ::Scripting::ClassBinding bind();
105 // NOLINTEND
106
107public:
108 // constructor thunks
109 // NOLINTBEGIN
110 MCAPI void* $ctor(::ScriptModuleDebugUtilities::ScriptDebugShape const&);
111
112 MCAPI void* $ctor(::ScriptModuleDebugUtilities::ScriptDebugShapeType shapeType);
113
114 MCAPI void* $ctor(
115 ::ScriptModuleDebugUtilities::ScriptDebugShapeType shapeType,
116 ::std::variant<::ScriptModuleMinecraft::ScriptDimensionLocation, ::Vec3> const& location
117 );
118 // NOLINTEND
119
120public:
121 // destructor thunk
122 // NOLINTBEGIN
123 MCFOLD void $dtor();
124 // NOLINTEND
125
126public:
127 // virtual function thunks
128 // NOLINTBEGIN
129 MCAPI void $populatePacketData(::ShapeDataPayload& packet) const;
130
131 MCAPI void $applyUpdatedData(::ShapeDataPayload const& packet);
132
133
134 // NOLINTEND
135
136public:
137 // vftables
138 // NOLINTBEGIN
139 MCAPI static void** $vftable();
140 // NOLINTEND
141};
142
143} // namespace ScriptModuleDebugUtilities
Definition Dimension.h:85
Definition ScriptDebugShape.h:24
Definition ScriptDimension.h:71
Definition ScriptPlayer.h:54
Definition ScriptDimensionLocation.h:16
Definition ClassBinding.h:19
Definition ShapeDataPayload.h:22