3 #include "Mountain/core.hpp" 7 #include "Mountain/resource/audio_track.hpp" 8 #include "Mountain/scene/component/component.hpp" 19 MOUNTAIN_API ~AudioSource()
override;
21 DELETE_COPY_MOVE_OPERATIONS(AudioSource)
23 MOUNTAIN_API
void Added()
override;
25 MOUNTAIN_API
void Update()
override;
27 MOUNTAIN_API
void Play();
31 MOUNTAIN_API
void SetBuffer(
const AudioBuffer* buffer);
33 MOUNTAIN_API float_t GetVolume()
const;
35 MOUNTAIN_API
void SetVolume(float_t newVolume);
37 MOUNTAIN_API float_t GetPitch()
const;
39 MOUNTAIN_API
void SetPitch(float_t newPitch);
41 MOUNTAIN_API bool_t GetLooping()
const;
43 MOUNTAIN_API
void SetLooping(bool_t newLooping);
46 uint32_t m_Handle = 0;
49 float_t m_Volume = 1.f;
52 float_t m_Pitch = 1.f;
54 bool_t m_Looping =
false;
56 bool_t m_PlayOnAdded =
true;
Represents a behavior that can be attached to an Entity.
MOUNTAIN_API void Update() override
Updates the component.
Custom Mountain smart pointer. Represents both a std::shared_ptr and a std::weak_ptr.
MOUNTAIN_API void Added() override
Called when the component is added to an Entity.
Contains all declarations of the Mountain Framework.