Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
MusicManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/sound/Category.h"
7#include "mc/client/sound/CustomMusic.h"
8#include "mc/client/sound/Music.h"
9#include "mc/deps/core/threading/CountTracker.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
11#include "mc/deps/core/utility/pub_sub/Connector.h"
12#include "mc/deps/core/utility/pub_sub/Subscription.h"
13
14// auto generated forward declare list
15// clang-format off
17class LocalPlayer;
18class Player;
22struct BiomeIdType;
23namespace Bedrock::Resources { class PreloadedPathHandle; }
24// clang-format on
25
26class MusicManager {
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 232, ::CustomMusic> mCustomMusic;
31 ::ll::TypedStorage<1, 1, bool> mPaused;
32 ::ll::TypedStorage<4, 4, int> mNextSongDelay;
33 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::SoundPlayerInterface>> mSoundPlayer;
34 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::Music>> mCurrentMusic;
35 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::Music>> mPausedMusic;
36 ::ll::TypedStorage<4, 4, ::Category> mLastMusicCategory;
37 ::ll::TypedStorage<8, 32, ::std::string> mCurrentMusicName;
38 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::std::unique_ptr<::Music>>> mMusicDefinitions;
39 ::ll::TypedStorage<8, 16, ::Bedrock::Threading::CountTracker> mDeferMusicRefCount;
40 ::ll::TypedStorage<8, 16, ::std::shared_ptr<void*>> mInitLoadingDeferment;
41 ::ll::TypedStorage<8, 16, ::std::shared_ptr<void*>> mResumeLoadingDeferment;
42 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnPauseStateChangeSubscription;
43 ::ll::TypedStorage<1, 1, bool> mIsMusicReady;
44 // NOLINTEND
45
46public:
47 // prevent constructor by default
48 MusicManager();
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCNAPI explicit MusicManager(::Bedrock::NotNullNonOwnerPtr<::SoundPlayerInterface> const& soundPlayer);
54
55 MCNAPI ::Bedrock::NonOwnerPointer<::Music> _findBiomeSpecificMusic(
56 ::Player const&,
57 ::std::string const& biomeName,
58 ::std::optional<::std::string> const& biomeMusicDefinition
59 ) const;
60
61 MCNAPI ::Bedrock::NonOwnerPointer<::Music> _getMusic(::std::string const& musicDefinition);
62
63 MCNAPI void _update(::Bedrock::NotNullNonOwnerPtr<::Music> desiredMusic);
64
65 MCNAPI ::Bedrock::NonOwnerPointer<::Music>
66 getSituationalMusic(::LocalPlayer const* player, bool isCreditsScreen, bool isLoadingProgressScreen);
67
68 MCNAPI void load(
69 ::ResourcePackManager& resourcePackManager,
70 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
72 ::std::shared_ptr<::std::vector<::Bedrock::Resources::PreloadedPathHandle>> preloadHandles
73 );
74
76
77 MCNAPI void update(::LocalPlayer const* player, bool isCreditsScreen, bool isLoadingProgressScreen);
78
79 MCNAPI ~MusicManager();
80 // NOLINTEND
81
82public:
83 // static functions
84 // NOLINTBEGIN
85 MCNAPI static bool shouldPlayCreativeMusic(bool playerIsCreative, ::BiomeIdType const biomeId);
86 // NOLINTEND
87
88public:
89 // constructor thunks
90 // NOLINTBEGIN
91 MCNAPI void* $ctor(::Bedrock::NotNullNonOwnerPtr<::SoundPlayerInterface> const& soundPlayer);
92 // NOLINTEND
93
94public:
95 // destructor thunk
96 // NOLINTBEGIN
97 MCNAPI void $dtor();
98 // NOLINTEND
99};
Definition NonOwnerPointer.h:9
Definition Connector.h:15
Definition PreloadedPathHandle.h:16
Definition LinkedAssetValidator.h:9
Definition LocalPlayer.h:5
Definition MusicManager.h:5
MCAPI ::Bedrock::NonOwnerPointer<::Music > _findBiomeSpecificMusic(::Player const &, ::std::string const &biomeName, ::std::optional<::std::string > const &biomeMusicDefinition) const
MCAPI void $dtor()
MCAPI void * $ctor(::Bedrock::NotNullNonOwnerPtr<::SoundPlayerInterface > const &soundPlayer)
MCAPI MusicManager(::Bedrock::NotNullNonOwnerPtr<::SoundPlayerInterface > const &soundPlayer)
MCAPI void registerPauseManagerCallback(::Bedrock::PubSub::Connector< void(bool)> &connector)
static MCAPI bool shouldPlayCreativeMusic(bool playerIsCreative, ::BiomeIdType const biomeId)
MCAPI void load(::ResourcePackManager &resourcePackManager, ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager > resourceLoadManager, ::Bedrock::NonOwnerPointer<::LinkedAssetValidator > validator, ::std::shared_ptr<::std::vector<::Bedrock::Resources::PreloadedPathHandle > > preloadHandles)
MCAPI ~MusicManager()
MCAPI ::Bedrock::NonOwnerPointer<::Music > _getMusic(::std::string const &musicDefinition)
MCAPI ::Bedrock::NonOwnerPointer<::Music > getSituationalMusic(::LocalPlayer const *player, bool isCreditsScreen, bool isLoadingProgressScreen)
MCAPI void update(::LocalPlayer const *player, bool isCreditsScreen, bool isLoadingProgressScreen)
MCAPI void _update(::Bedrock::NotNullNonOwnerPtr<::Music > desiredMusic)
Definition Player.h:131
Definition ResourceLoadManager.h:22
Definition ResourcePackManager.h:29
Definition SoundPlayerInterface.h:24
Definition BiomeIdType.h:8