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
56 virtual ~EmitterLifetimeEventsComponent() /*override*/;
57 // NOLINTEND
58
59public:
60 // member functions
61 // NOLINTBEGIN
62 MCAPI void
63 _parseEvent(::ConstDeserializeDataParams const& deserializeDataParams, ::std::vector<::HashedString>& eventList);
64 // NOLINTEND
65
66public:
67 // destructor thunk
68 // NOLINTBEGIN
69 MCAPI void $dtor();
70 // NOLINTEND
71
72public:
73 // virtual function thunks
74 // NOLINTBEGIN
75 MCAPI void $initializeFromData(::SharedTypes::v1_20_80::ParticleEffectComponent& data);
76
77 MCAPI void $upgradeToSharedTypes(::SharedTypes::v1_20_80::ParticleEffectComponent& data);
78
79 MCAPI void $parseJson(::ConstDeserializeDataParams const& deserializeDataParams);
80
81 MCAPI void $handleCreation(::ParticleSystem::ComponentAccessParticleEmitter& emitter);
82
83 MCAPI void $handleExpiration(::ParticleSystem::ComponentAccessParticleEmitter& emitter);
84
85 MCAPI void $handleTimelineEvents(
86 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
87 ::std::chrono::nanoseconds const lastAge,
88 ::std::chrono::nanoseconds age
89 );
90
91 MCAPI void $handleTravelDistanceEvents(
92 ::ParticleSystem::ComponentAccessParticleEmitter& emitter,
93 float lastDistance,
94 float distance
95 );
96 // NOLINTEND
97
98public:
99 // vftables
100 // NOLINTBEGIN
101 MCNAPI static void** $vftable();
102 // NOLINTEND
103};
104
105} // namespace ParticleSystem
Definition ComponentAccessParticleEmitter.h:7
Definition EmitterLifetimeEventsComponent.h:7
Definition ConstDeserializeDataParams.h:13
Definition DistanceEvents.h:7
Definition ParticleEffectComponent.h:12