CommonLibSSE NG
BSMusicManager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTArray.h"
4 #include "RE/B/BSTEvent.h"
5 #include "RE/B/BSTSingleton.h"
6 
7 namespace RE
8 {
9  class BSIMusicType;
10  struct BSMusicEvent;
11 
13  public BSTSingletonSDM<BSMusicManager>, // 00
14  public BSTEventSink<BSMusicEvent> // 08
15  {
16  public:
17  inline static constexpr auto RTTI = RTTI_BSMusicManager;
18 
19  ~BSMusicManager() override; // 00
20 
21  // override (BSTEventSink<BSMusicEvent>)
22  BSEventNotifyControl ProcessEvent(const BSMusicEvent* a_event, BSTEventSource<BSMusicEvent>* a_eventSource) override; // 01
23 
24  [[nodiscard]] static BSMusicManager* GetSingleton()
25  {
26  REL::Relocation<BSMusicManager**> singleton{ RELOCATION_ID(514738, 400896) };
27  return *singleton;
28  }
29 
30  // members
33  std::uint32_t unk30; // 30
34  std::uint32_t pad34; // 34
35  };
36  static_assert(sizeof(BSMusicManager) == 0x38);
37 }
#define RELOCATION_ID(a_se, a_ae)
Definition: PCH.h:724
Definition: Relocation.h:204
Definition: BSIMusicType.h:11
Definition: BSMusicManager.h:15
BSTArray< BSIMusicType * > musicQueue
Definition: BSMusicManager.h:31
std::uint32_t unk30
Definition: BSMusicManager.h:33
BSEventNotifyControl ProcessEvent(const BSMusicEvent *a_event, BSTEventSource< BSMusicEvent > *a_eventSource) override
static constexpr auto RTTI
Definition: BSMusicManager.h:17
std::uint32_t pad34
Definition: BSMusicManager.h:34
~BSMusicManager() override
BSIMusicType * current
Definition: BSMusicManager.h:32
static BSMusicManager * GetSingleton()
Definition: BSMusicManager.h:24
Definition: BSTArray.h:377
Definition: BSTEvent.h:143
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BSMusicManager(691078, 398934, 0x1f6be40)
BSEventNotifyControl
Definition: BSTEvent.h:12
Definition: BSMusicEvent.h:8
Definition: BSTSingleton.h:50