LeviLamina
Loading...
Searching...
No Matches
ParticleEmitter.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class AABB;
8class Actor;
9class BlockPos;
11class Dimension;
12class ExpressionNode;
13class HashedString;
15class Vec3;
16class WeakEntityRef;
17struct ActorUniqueID;
18namespace ParticleSystem { struct ActorBindInfo; }
19// clang-format on
20
21namespace ParticleSystem {
22
24public:
25 // virtual functions
26 // NOLINTBEGIN
27 // vIndex: 0
28 virtual ~ParticleEmitter() = default;
29
30 // vIndex: 3
31 virtual void setActorBindInfo(::Dimension*, ::ActorUniqueID, ::HashedString const&, ::Vec3 const&) = 0;
32
33 // vIndex: 2
34 virtual void setActorBindInfo(::WeakEntityRef, ::HashedString const&, ::Vec3 const&) = 0;
35
36 // vIndex: 1
37 virtual void setActorBindInfo(::Actor*, ::HashedString const&, ::Vec3 const&) = 0;
38
39 // vIndex: 4
40 virtual void setEnableUpdate(bool) = 0;
41
42 // vIndex: 5
43 virtual void setEnableRender(bool) = 0;
44
45 // vIndex: 6
46 virtual void runInitializationScript(::ExpressionNode const&) = 0;
47
48 // vIndex: 7
49 virtual void onBlockChanged(::BlockPos const&) = 0;
50
51 // vIndex: 8
52 virtual void expire() = 0;
53
54 // vIndex: 9
55 virtual void emitParticleManually(::Vec3 const&, ::Vec3 const&, float const) = 0;
56
57 // vIndex: 10
58 virtual bool isValid() const = 0;
59
60 // vIndex: 11
61 virtual bool isManualEmitter() const = 0;
62
63 // vIndex: 12
64 virtual bool expirationRequested() const = 0;
65
66 // vIndex: 13
67 virtual bool hasExpired() const = 0;
68
69 // vIndex: 14
70 virtual ::AABB const& getAABB() const = 0;
71
72 // vIndex: 15
73 virtual ::HashedString const& getEffectName() const = 0;
74
75 // vIndex: 16
76 virtual uint64 getParticleCount() const = 0;
77
78 // vIndex: 17
79 virtual uint64 getEffectEmitterCount() const = 0;
80
81 // vIndex: 18
82 virtual uint64 getEffectParticleCount() const = 0;
83
84 // vIndex: 19
85 virtual uint64 getTotalEmitterCount() const = 0;
86
87 // vIndex: 20
88 virtual uint64 getTotalParticleCount() const = 0;
89
90 // vIndex: 21
91 virtual void tick(::std::chrono::nanoseconds const&, float const) = 0;
92
93 // vIndex: 22
94 virtual void frameUpdate(::ClientFrameUpdateContext&) = 0;
95
96 // vIndex: 23
97 virtual void extractForRendering(::ParticleRenderData&, float) = 0;
98
99 // vIndex: 24
100 virtual void setManualParticleEmission(bool) = 0;
101
102 // vIndex: 25
103 virtual ::ParticleSystem::ActorBindInfo getActorBindInfo() const = 0;
104 // NOLINTEND
105
106public:
107 // destructor thunk
108 // NOLINTBEGIN
109
110 // NOLINTEND
111
112public:
113 // virtual function thunks
114 // NOLINTBEGIN
115
116 // NOLINTEND
117};
118
119} // namespace ParticleSystem
Definition AABB.h:16
Definition Actor.h:104
Definition BlockPos.h:18
Definition ClientFrameUpdateContext.h:5
Definition Dimension.h:83
Definition ExpressionNode.h:31
Definition HashedString.h:5
Definition ParticleRenderData.h:5
Definition ParticleEmitter.h:23
Definition Vec3.h:10
Definition WeakEntityRef.h:14
Definition ActorUniqueID.h:5