LeviLamina
Loading...
Searching...
No Matches
EmitterLifetimeEventsComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/particlesystem/particle/components/EmitterLifetimeComponentBase.h"
7#include "mc/deps/core/string/HashedString.h"
8
9// auto generated forward declare list
10// clang-format off
12namespace ParticleSystem { class ComponentAccessParticleEmitter; }
13namespace ParticleSystem { struct DistanceEvents; }
14namespace SharedTypes::v1_20_80 { struct ParticleEffectComponent; }
15// clang-format on
16
17namespace ParticleSystem {
18
19class EmitterLifetimeEventsComponent : public ::ParticleSystem::EmitterLifetimeComponentBase {
20public:
21 // member variables
22 // NOLINTBEGIN
23 ::ll::TypedStorage<8, 24, ::std::vector<::HashedString>> mCreationEvents;
24 ::ll::TypedStorage<8, 24, ::std::vector<::HashedString>> mExpirationEvents;
25 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::std::chrono::nanoseconds, ::std::vector<::HashedString>>>>
26 mTimelineEvents;
27 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<float, ::std::vector<::HashedString>>>> mTravelDistanceEvents;
28 ::ll::TypedStorage<8, 24, ::std::vector<::ParticleSystem::DistanceEvents>> mLoopingTravelDistanceEvents;
29 // NOLINTEND
30
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 virtual void initializeFromData(::SharedTypes::v1_20_80::ParticleEffectComponent& data) /*override*/;
35
36 virtual void upgradeToSharedTypes(::SharedTypes::v1_20_80::ParticleEffectComponent& data) /*override*/;
37
38 virtual void parseJson(::ConstDeserializeDataParams const& deserializeDataParams) /*override*/;
39
40 virtual void handleCreation(::ParticleSystem::ComponentAccessParticleEmitter& emitter) /*override*/;
41
42 virtual void handleExpiration(::ParticleSystem::ComponentAccessParticleEmitter& emitter) /*override*/;
43
44 virtual void handleTimelineEvents(
45 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
46 ::std::chrono::nanoseconds const lastAge,
47 ::std::chrono::nanoseconds age
48 ) /*override*/;
49
50 virtual void handleTravelDistanceEvents(
51 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
52 float lastDistance,
53 float distance
54 ) /*override*/;
55 // NOLINTEND
56
57public:
58 // member functions
59 // NOLINTBEGIN
60 MCAPI void
61 _parseEvent(::ConstDeserializeDataParams const& deserializeDataParams, ::std::vector<::HashedString>& eventList);
62 // NOLINTEND
63
64public:
65 // virtual function thunks
66 // NOLINTBEGIN
67 MCAPI void $initializeFromData(::SharedTypes::v1_20_80::ParticleEffectComponent& data);
68
69 MCAPI void $upgradeToSharedTypes(::SharedTypes::v1_20_80::ParticleEffectComponent& data);
70
71 MCAPI void $parseJson(::ConstDeserializeDataParams const& deserializeDataParams);
72
73 MCAPI void $handleCreation(::ParticleSystem::ComponentAccessParticleEmitter& emitter);
74
75 MCAPI void $handleExpiration(::ParticleSystem::ComponentAccessParticleEmitter& emitter);
76
77 MCAPI void $handleTimelineEvents(
78 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
79 ::std::chrono::nanoseconds const lastAge,
80 ::std::chrono::nanoseconds age
81 );
82
83 MCAPI void $handleTravelDistanceEvents(
84 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
85 float lastDistance,
86 float distance
87 );
88 // NOLINTEND
89
90public:
91 // vftables
92 // NOLINTBEGIN
93 MCNAPI static void** $vftable();
94 // NOLINTEND
95};
96
97} // namespace ParticleSystem
Definition ComponentAccessParticleEmitter.h:7
Definition EmitterLifetimeEventsComponent.h:7
Definition ConstDeserializeDataParams.h:13
Definition DistanceEvents.h:7
Definition ParticleEffectComponent.h:12