LeviLamina
Loading...
Searching...
No Matches
SoundComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/controls/ComponentReceiveActionType.h"
7#include "mc/client/gui/controls/SoundEventConditions.h"
8#include "mc/client/gui/controls/UIComponent.h"
9#include "mc/client/gui/screens/ScreenEventType.h"
10
11// auto generated forward declare list
12// clang-format off
15class UIControl;
16class UISoundPlayer;
17class VisualTree;
18struct ScreenEvent;
19// clang-format on
20
21class SoundComponent : public ::UIComponent {
22public:
23 // SoundComponent inner types declare
24 // clang-format off
25 struct SoundEventInfo;
26 // clang-format on
27
28 // SoundComponent inner types define
29 struct SoundEventInfo {
30 public:
31 // member variables
32 // NOLINTBEGIN
33 ::ll::TypedStorage<8, 32, ::std::string> mSoundName;
34 ::ll::TypedStorage<4, 4, float> mVolume;
35 ::ll::TypedStorage<4, 4, float> mPitch;
36 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastPlayTime;
37 ::ll::TypedStorage<8, 8, ::std::chrono::milliseconds> mMinTimeBetweenPlays;
38 ::ll::TypedStorage<4, 4, ::ScreenEventType> mScreenEventType;
39 ::ll::TypedStorage<4, 8, ::SoundEventConditions> mEventConditions;
40 // NOLINTEND
41 };
42
43public:
44 // member variables
45 // NOLINTBEGIN
46 ::ll::TypedStorage<8, 8, ::UISoundPlayer const*> mSoundPlayer;
47 ::ll::TypedStorage<4, 4, float> mVolume;
48 ::ll::TypedStorage<4, 4, float> mPitch;
49 ::ll::TypedStorage<8, 32, ::std::string> mSoundName;
50 ::ll::TypedStorage<8, 24, ::std::vector<::SoundComponent::SoundEventInfo>> mSoundEvents;
51 // NOLINTEND
52
53public:
54 // virtual functions
55 // NOLINTBEGIN
56 virtual ~SoundComponent() /*override*/ = default;
57
58 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner) const /*override*/;
59
60 virtual void reset() /*override*/;
61
62 virtual ::ComponentReceiveActionType receive(::ScreenEvent const& screenEvent) /*override*/;
63
64 virtual ::ComponentReceiveActionType receive(
65 ::VisualTree& visualTree,
66 ::ScreenInputContext& context,
67 ::UIAnimationController& animationController,
68 ::ScreenEvent const& screenEvent
69 ) /*override*/;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI void addSoundEvent(
76 ::std::string const& soundName,
77 float volume,
78 float pitch,
79 ::std::chrono::milliseconds minTimeBetweenPlays,
80 ::ScreenEventType screenEventType,
81 ::SoundEventConditions const& screenEventConditions
82 );
83 // NOLINTEND
84
85public:
86 // virtual function thunks
87 // NOLINTBEGIN
88 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner) const;
89
90 MCFOLD void $reset();
91
92 MCAPI ::ComponentReceiveActionType $receive(::ScreenEvent const& screenEvent);
93
94 MCAPI ::ComponentReceiveActionType $receive(
95 ::VisualTree& visualTree,
96 ::ScreenInputContext& context,
97 ::UIAnimationController& animationController,
98 ::ScreenEvent const& screenEvent
99 );
100 // NOLINTEND
101
102public:
103 // vftables
104 // NOLINTBEGIN
105 MCNAPI static void** $vftable();
106 // NOLINTEND
107};
Definition ScreenInputContext.h:5
Definition SoundComponent.h:5
static MCAPI void ** $vftable()
Definition UIAnimationController.h:5
Definition UIComponent.h:5
Definition UIControl.h:5
Definition UISoundPlayer.h:5
Definition VisualTree.h:5
Definition ScreenEvent.h:5
Definition SoundComponent.h:13