LeviLamina
Loading...
Searching...
No Matches
RopeSystem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/legacy/ActorUniqueID.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockSource;
11class Rope;
12class Vec3;
13struct RopeParams;
14struct RopePointsRef;
15struct RopeWave;
16// clang-format on
17
18class RopeSystem {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<1, 1, bool> mWaveApplied;
23 ::ll::TypedStorage<8, 24, ::std::vector<::Rope>> mRopes;
24 ::ll::TypedStorage<8, 8, uint64> mCutRenderNode;
25 ::ll::TypedStorage<8, 8, uint64> mCutTicks;
26 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mEndPinEntity;
27 ::ll::TypedStorage<4, 4, ::std::atomic_flag> mTicking;
28 ::ll::TypedStorage<8, 8, ::std::shared_mutex> mRenderMutex;
29 // NOLINTEND
30
31public:
32 // member functions
33 // NOLINTBEGIN
34 MCAPI RopeSystem();
35
36 MCAPI void _tick();
37
38#ifdef LL_PLAT_C
39 MCAPI void addWave(uint64 index, ::RopeWave&& wave);
40#endif
41
42 MCAPI void cutAtPercent(float percent);
43
44#ifdef LL_PLAT_C
45 MCFOLD uint64 getCutNode() const;
46
47 MCFOLD ::ActorUniqueID const& getEndPinEntity() const;
48
49 MCAPI ::RopePointsRef getPoints(uint64 index);
50#endif
51
52 MCAPI void initialize(::RopeParams const& params, uint64 initialRopeCount);
53
54 MCAPI void initializePins(::Vec3 const& startPin, ::Vec3 const& endPin);
55
56 MCAPI bool isCut() const;
57
58 MCAPI bool isDestroyed() const;
59
60 MCAPI void queueTick(::BlockSource& region, ::std::shared_ptr<::RopeSystem>& self);
61
62#ifdef LL_PLAT_C
63 MCAPI void setRopeCount(uint64 ropeCount);
64
65 MCFOLD void storeEndPinEntity(::ActorUniqueID const& end);
66
67 MCAPI void updatePins(uint64 ropeIndex, ::Vec3 const& startPin, ::Vec3 const& endPin);
68#endif
69 // NOLINTEND
70
71public:
72 // static variables
73 // NOLINTBEGIN
74 MCAPI static bool& sEnabled();
75 // NOLINTEND
76
77public:
78 // constructor thunks
79 // NOLINTBEGIN
80 MCAPI void* $ctor();
81 // NOLINTEND
82};
Definition BlockSource.h:72
Definition Rope.h:20
Definition Vec3.h:10
Definition ActorUniqueID.h:10
Definition RopeParams.h:8
Definition RopePointsRef.h:13
Definition RopeWave.h:5