LeviLamina
Loading...
Searching...
No Matches
ParticleSystemInterfaceProxy.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/comprehensive/ParticleType.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/core/utility/pub_sub/Subscription.h"
9#include "mc/world/ParticleSystemInterface.h"
10
11// auto generated forward declare list
12// clang-format off
13class CompoundTag;
14class HashedString;
17class Options;
18class Particle;
19class ParticleEngine;
21class Vec3;
22// clang-format on
23
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::LevelRendererPlayer const>> mLevelRendererPlayer;
29 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ParticleEngine>> mParticleEngine;
30 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ParticleSystemEngine>> mParticleSystemEngine;
31 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mViewDistanceSubscription;
32 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mParticleViewDistanceSubscription;
33 ::ll::TypedStorage<4, 4, int> mViewDistance;
34 ::ll::TypedStorage<4, 4, float> mParticleViewDistance;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 ParticleSystemInterfaceProxy();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ~ParticleSystemInterfaceProxy() /*override*/ = default;
45
46 virtual float getDistanceToCameraSqr(::Vec3 const& pos) const /*override*/;
47
48 virtual int getViewDistanceChunks() const /*override*/;
49
50 virtual float getParticleViewDistance() const /*override*/;
51
52 virtual ::Particle* instance(
53 ::ParticleType type,
54 ::Vec3 const& pos,
55 ::Vec3 const& dir,
56 int data,
57 ::CompoundTag const* tag
58 ) /*override*/;
59
60 virtual void addParticleEffect(
61 ::HashedString const& effect,
62 ::Vec3 const& emitterPosition,
63 ::MolangVariableMap const& molangVariables
64 ) /*override*/;
65 // NOLINTEND
66
67public:
68 // member functions
69 // NOLINTBEGIN
70 MCAPI ParticleSystemInterfaceProxy(
71 ::LevelRendererPlayer const& levelRendererPlayer,
72 ::Options& options,
73 ::std::unique_ptr<::ParticleEngine> particleEngine,
74 ::std::unique_ptr<::ParticleSystemEngine> particleSystemEngine
75 );
76 // NOLINTEND
77
78public:
79 // constructor thunks
80 // NOLINTBEGIN
81 MCAPI void* $ctor(
82 ::LevelRendererPlayer const& levelRendererPlayer,
83 ::Options& options,
84 ::std::unique_ptr<::ParticleEngine> particleEngine,
85 ::std::unique_ptr<::ParticleSystemEngine> particleSystemEngine
86 );
87 // NOLINTEND
88
89public:
90 // virtual function thunks
91 // NOLINTBEGIN
92 MCAPI float $getDistanceToCameraSqr(::Vec3 const& pos) const;
93
94 MCFOLD int $getViewDistanceChunks() const;
95
96 MCAPI float $getParticleViewDistance() const;
97
98 MCAPI ::Particle*
99 $instance(::ParticleType type, ::Vec3 const& pos, ::Vec3 const& dir, int data, ::CompoundTag const* tag);
100
101 MCAPI void $addParticleEffect(
102 ::HashedString const& effect,
103 ::Vec3 const& emitterPosition,
104 ::MolangVariableMap const& molangVariables
105 );
106 // NOLINTEND
107
108public:
109 // vftables
110 // NOLINTBEGIN
111 MCNAPI static void** $vftable();
112 // NOLINTEND
113};
Definition CompoundTag.h:23
Definition HashedString.h:5
Definition LevelRendererPlayer.h:5
Definition MolangVariableMap.h:17
Definition Options.h:5
Definition ParticleEngine.h:5
Definition ParticleSystemEngine.h:5
Definition ParticleSystemInterfaceProxy.h:5
static MCAPI void ** $vftable()
Definition ParticleSystemInterface.h:17
Definition Particle.h:5
Definition Vec3.h:10