LeviLamina
Loading...
Searching...
No Matches
LevelSoundManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/core/utility/pub_sub/Connector.h"
8#include "mc/deps/core/utility/pub_sub/Publisher.h"
9#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
10#include "mc/network/NetworkIdentifierWithSubId.h"
11#include "mc/network/packet/LevelSoundEventPacket.h"
12#include "mc/world/level/ILevelSoundManagerConnector.h"
13
14// auto generated forward declare list
15// clang-format off
17class IDimension;
19class PacketSender;
20class Player;
22class Vec3;
23namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
24// clang-format on
25
26class LevelSoundManager : public ::ILevelSoundManagerConnector {
27public:
28 // LevelSoundManager inner types declare
29 // clang-format off
34 // clang-format on
35
36 // LevelSoundManager inner types define
38 public:
39 // member variables
40 // NOLINTBEGIN
41 ::ll::TypedStorage<8, 120, ::LevelSoundEventPacket> mPacket;
42 ::ll::TypedStorage<8, 24, ::std::vector<::NetworkIdentifierWithSubId>> mNetworkIds;
43 // NOLINTEND
44
45 public:
46 // member functions
47 // NOLINTBEGIN
49 // NOLINTEND
50
51 public:
52 // destructor thunk
53 // NOLINTBEGIN
54 MCAPI void $dtor();
55 // NOLINTEND
56 };
57
59 public:
60 // member variables
61 // NOLINTBEGIN
62 ::ll::TypedStorage<8, 120, ::LevelSoundEventPacket> mPacket;
63 // NOLINTEND
64
65 public:
66 // member functions
67 // NOLINTBEGIN
69 // NOLINTEND
70
71 public:
72 // destructor thunk
73 // NOLINTBEGIN
74 MCFOLD void $dtor();
75 // NOLINTEND
76 };
77
79 public:
80 // member variables
81 // NOLINTBEGIN
82 ::ll::TypedStorage<8, 120, ::LevelSoundEventPacket> mPacket;
83 ::ll::TypedStorage<8, 184, ::NetworkIdentifierWithSubId> mNetworkId;
84 // NOLINTEND
85
86 public:
87 // member functions
88 // NOLINTBEGIN
90 // NOLINTEND
91
92 public:
93 // destructor thunk
94 // NOLINTBEGIN
95 MCFOLD void $dtor();
96 // NOLINTEND
97 };
98
100 public:
101 // member variables
102 // NOLINTBEGIN
103 ::ll::TypedStorage<8, 120, ::LevelSoundEventPacket> mPacket;
104 // NOLINTEND
105
106 public:
107 // member functions
108 // NOLINTBEGIN
110 // NOLINTEND
111
112 public:
113 // destructor thunk
114 // NOLINTBEGIN
115 MCFOLD void $dtor();
116 // NOLINTEND
117 };
118
119 using QueuedSoundPacket = ::std::variant<
124
125public:
126 // member variables
127 // NOLINTBEGIN
128 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::SoundPlayerInterface>> mSoundPlayer;
129 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::PacketSender>> mLevelPacketSender;
130 ::ll::TypedStorage<1, 1, bool> mIsClientSide;
131 ::ll::TypedStorage<1, 1, bool> mServerAuthSoundEnabled;
132 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::LevelEventCoordinator> const> mLevelEventCoordinator;
133 ::ll::TypedStorage<
134 8,
135 24,
136 ::std::vector<::std::variant<
141 mSoundPacketQueue;
142 ::ll::TypedStorage<
143 8,
144 128,
146 void(::SharedTypes::Legacy::LevelSoundEvent, ::Vec3 const&, int, ::ActorSoundIdentifier const&, bool),
148 0>>
149 mOnLevelSoundEvent;
150 ::ll::TypedStorage<
151 8,
152 128,
154 void(::std::string const&, ::Vec3 const&, float, float),
156 0>>
157 mOnLevelSoundEventWithVolumeAndPitch;
158 ::ll::TypedStorage<
159 8,
160 128,
162 mOnStopLevelSoundEvent;
164 mOnStopAllLevelSoundsEvent;
166 mOnStopMusicEvent;
167 // NOLINTEND
168
169public:
170 // prevent constructor by default
171 LevelSoundManager();
172
173public:
174 // virtual functions
175 // NOLINTBEGIN
176 virtual ::Bedrock::PubSub::Connector<
177 void(::SharedTypes::Legacy::LevelSoundEvent, ::Vec3 const&, int, ::ActorSoundIdentifier const&, bool)>&
178 getOnLevelSoundEventConnector() /*override*/;
179
180 virtual ::Bedrock::PubSub::Connector<void(::std::string const&, ::Vec3 const&, float, float)>&
181 getOnLevelSoundEventWithVolumeAndPitchConnector() /*override*/;
182
183 virtual ::Bedrock::PubSub::Connector<void(::std::string const&)>& getOnStopLevelSoundEventConnector() /*override*/;
184
185 virtual ::Bedrock::PubSub::Connector<void()>& getOnStopAllLevelSoundsEventConnector() /*override*/;
186
187 virtual ::Bedrock::PubSub::Connector<void()>& getOnStopMusicEventConnector() /*override*/;
188
189 virtual ~LevelSoundManager() /*override*/;
190 // NOLINTEND
191
192public:
193 // member functions
194 // NOLINTBEGIN
195 MCAPI LevelSoundManager(
196 ::Bedrock::NotNullNonOwnerPtr<::SoundPlayerInterface> soundPlayer,
197 bool isClientSide,
198 ::Bedrock::NotNullNonOwnerPtr<::LevelEventCoordinator> levelEventCoordinator,
199 ::Bedrock::NotNullNonOwnerPtr<::PacketSender> packetSender,
200 bool isServerAuthSoundEnabled
201 );
202
203 MCAPI void _queueSoundPacket(
204 ::std::variant<
209 );
210
211 MCAPI void broadcastSoundEvent(
212 ::IDimension& dimension,
213 ::SharedTypes::Legacy::LevelSoundEvent type,
214 ::Vec3 const& pos,
215 int data,
216 ::ActorSoundIdentifier const& actorSoundIdentifier,
217 bool isGlobal,
218 ::Player* primaryLocalPlayer
219 );
220
221 MCAPI void playPredictiveSynchronizedSound(
222 ::IDimension& dimension,
223 ::SharedTypes::Legacy::LevelSoundEvent type,
224 ::Vec3 const& pos,
225 ::Player* targetPlayer,
226 int data,
227 ::ActorSoundIdentifier const& actorSoundIdentifier,
228 bool isGlobal
229 );
230
231 MCAPI void playSound(
232 ::SharedTypes::Legacy::LevelSoundEvent type,
233 ::Vec3 const& pos,
234 int data,
235 ::ActorSoundIdentifier const& actorSoundIdentifier,
236 bool isGlobal
237 );
238
239 MCAPI void playSynchronizedSound_DEPRECATED(
240 ::IDimension& dimension,
241 ::SharedTypes::Legacy::LevelSoundEvent type,
242 ::Vec3 const& pos,
243 ::Player* primaryLocalPlayer,
244 int data,
245 ::ActorSoundIdentifier const& actorSoundIdentifier,
246 bool isGlobal
247 );
248
249 MCAPI_S void stopSoundEvent(::std::string const& name);
250 // NOLINTEND
251
252public:
253 // constructor thunks
254 // NOLINTBEGIN
255 MCAPI void* $ctor(
256 ::Bedrock::NotNullNonOwnerPtr<::SoundPlayerInterface> soundPlayer,
257 bool isClientSide,
258 ::Bedrock::NotNullNonOwnerPtr<::LevelEventCoordinator> levelEventCoordinator,
259 ::Bedrock::NotNullNonOwnerPtr<::PacketSender> packetSender,
260 bool isServerAuthSoundEnabled
261 );
262 // NOLINTEND
263
264public:
265 // destructor thunk
266 // NOLINTBEGIN
267 MCAPI void $dtor();
268 // NOLINTEND
269
270public:
271 // virtual function thunks
272 // NOLINTBEGIN
273 MCFOLD ::Bedrock::PubSub::Connector<
274 void(::SharedTypes::Legacy::LevelSoundEvent, ::Vec3 const&, int, ::ActorSoundIdentifier const&, bool)>&
275 $getOnLevelSoundEventConnector();
276
277 MCFOLD ::Bedrock::PubSub::Connector<void(::std::string const&, ::Vec3 const&, float, float)>&
278 $getOnLevelSoundEventWithVolumeAndPitchConnector();
279
280 MCAPI ::Bedrock::PubSub::Connector<void(::std::string const&)>& $getOnStopLevelSoundEventConnector();
281
282 MCAPI ::Bedrock::PubSub::Connector<void()>& $getOnStopAllLevelSoundsEventConnector();
283
284 MCFOLD ::Bedrock::PubSub::Connector<void()>& $getOnStopMusicEventConnector();
285
286
287 // NOLINTEND
288
289public:
290 // vftables
291 // NOLINTBEGIN
292 MCNAPI static void** $vftable();
293 // NOLINTEND
294};
Definition ActorSoundIdentifier.h:17
Definition Publisher.h:8
Definition IDimension.h:25
Definition ILevelSoundManagerConnector.h:18
Definition LevelEventCoordinator.h:25
static MCAPI void ** $vftable()
Definition PacketSender.h:17
Definition Player.h:125
Definition SoundPlayerInterface.h:21
Definition Vec3.h:10
Definition LevelSoundManager.h:58
Definition LevelSoundManager.h:99