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;
39 MCAPI
void addWave(uint64 index,
::RopeWave&& wave);
42 MCAPI
void cutAtPercent(
float percent);
45 MCFOLD uint64 getCutNode()
const;
47 MCFOLD ::ActorUniqueID
const& getEndPinEntity()
const;
49 MCAPI ::RopePointsRef getPoints(uint64 index);
52 MCAPI
void initialize(
::RopeParams const& params, uint64 initialRopeCount);
54 MCAPI
void initializePins(
::Vec3 const& startPin,
::Vec3 const& endPin);
56 MCAPI
bool isCut()
const;
58 MCAPI
bool isDestroyed()
const;
60 MCAPI
void queueTick(
::BlockSource& region, ::std::shared_ptr<::RopeSystem>& self);
63 MCAPI
void setRopeCount(uint64 ropeCount);
67 MCAPI
void updatePins(uint64 ropeIndex,
::Vec3 const& startPin,
::Vec3 const& endPin);
74 MCAPI
static bool& sEnabled();