3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/particlesystem/particle/components/ParticleMotionComponentBase.h"
7#include "mc/deps/core/math/Vec3.h"
8#include "mc/deps/core/string/HashedString.h"
9#include "mc/util/molang/ExpressionNode.h"
15namespace Json {
class Value; }
21namespace ParticleSystem {
35 ::ll::TypedStorage<4, 12, ::Vec3> mFrom;
36 ::ll::TypedStorage<4, 12, ::Vec3> mTo;
37 ::ll::TypedStorage<4, 12, ::Vec3> mVelocity;
38 ::ll::TypedStorage<4, 12, ::Vec3> mIntersectionNorm;
39 ::ll::TypedStorage<1, 1, bool> mHit;
46 ::ll::TypedStorage<8, 16, ::ExpressionNode> mCollisionEnabledExpr;
47 ::ll::TypedStorage<4, 4, float> mCollisionDrag;
48 ::ll::TypedStorage<4, 4, float> mCoefficientOfRestitution;
49 ::ll::TypedStorage<4, 12, ::Vec3> mCollisionRadius;
50 ::ll::TypedStorage<1, 1, bool> mExpireOnContact;
51 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<float, ::HashedString>>> mCollisionEvents;
57 virtual void initializeFromData(::SharedTypes::v1_20_80::ParticleEffectComponent& data) ;
59 virtual void upgradeToSharedTypes(::SharedTypes::v1_20_80::ParticleEffectComponent& data) ;
61 virtual void parseJson(::ConstDeserializeDataParams
const& deserializeDataParams) ;
63 virtual void updateParticleMotion(
64 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
65 ::ParticleSystem::CommonParticle& particle,
66 ::RenderParams& renderParams,
67 ::std::chrono::nanoseconds
const& dt
70 virtual int getSortOrderNumber() const ;
76 MCAPI
void _extractEvent(::Json::Value const& event);
78 MCAPI ::ParticleSystem::ParticleMotionCollisionComponent::
SweepResult _sweep(
79 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
80 ::ParticleSystem::ParticleMotionCollisionComponent::
SweepResult const& previousRay,
81 ::Vec3 const& collisionRadius,
89 MCAPI
void $initializeFromData(::SharedTypes::v1_20_80::ParticleEffectComponent& data);
91 MCAPI
void $upgradeToSharedTypes(::SharedTypes::v1_20_80::ParticleEffectComponent& data);
93 MCAPI
void $parseJson(::ConstDeserializeDataParams const& deserializeDataParams);
95 MCAPI
void $updateParticleMotion(
96 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
97 ::ParticleSystem::CommonParticle& particle,
98 ::RenderParams& renderParams,
99 ::std::chrono::nanoseconds const& dt
102 MCFOLD
int $getSortOrderNumber() const;
Definition ComponentAccessParticleEmitter.h:7
Definition ParticleMotionCollisionComponent.h:7
Definition RenderParams.h:29
Definition ConstDeserializeDataParams.h:13
Definition CommonParticle.h:7
Definition ParticleMotionCollisionComponent.h:15
Definition ParticleEffectComponent.h:12