3#include "mc/_HeaderOutputPredefine.h"
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"
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;
50 ::std::string soundName,
53 ::std::chrono::milliseconds minTimeBetweenPlays,
54 ::ScreenEventType screenEventType,
55 ::SoundEventConditions
const& screenEventConditions
63 ::std::string soundName,
66 ::std::chrono::milliseconds minTimeBetweenPlays,
67 ::ScreenEventType screenEventType,
68 ::SoundEventConditions
const& screenEventConditions
76 ::ll::TypedStorage<8, 8, ::UISoundPlayer const*> mSoundPlayer;
77 ::ll::TypedStorage<4, 4, float> mVolume;
78 ::ll::TypedStorage<4, 4, float> mPitch;
79 ::ll::TypedStorage<8, 32, ::std::string> mSoundName;
80 ::ll::TypedStorage<8, 24, ::std::vector<::SoundComponent::SoundEventInfo>> mSoundEvents;
86 virtual ~SoundComponent() =
default;
88 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner)
const ;
90 virtual void reset() ;
92 virtual ::ComponentReceiveActionType receive(::ScreenEvent
const& screenEvent) ;
94 virtual ::ComponentReceiveActionType receive(
95 ::VisualTree& screenEvent,
96 ::ScreenInputContext&,
97 ::UIAnimationController&,
105 MCAPI
void addSoundEvent(
106 ::std::string
const& soundName,
109 ::std::chrono::milliseconds minTimeBetweenPlays,
110 ::ScreenEventType screenEventType,
111 ::SoundEventConditions
const& screenEventConditions
118 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner)
const;
120 MCFOLD
void $reset();
122 MCAPI ::ComponentReceiveActionType $receive(::ScreenEvent
const& screenEvent);
124 MCAPI ::ComponentReceiveActionType
125 $receive(::VisualTree& screenEvent, ::ScreenInputContext&, ::UIAnimationController&, ::ScreenEvent
const&);
Definition ScreenInputContext.h:5
Definition SoundComponent.h:5
static MCAPI void ** $vftable()
Definition UIAnimationController.h:5
Definition UIComponent.h:5
Definition UISoundPlayer.h:5
Definition VisualTree.h:5
Definition ScreenEvent.h:5
Definition SoundComponent.h:13