Class AudioSystem

Inheritance Relationships

Base Type

Class Documentation

class legion::audio::AudioSystem : public legion::core::System<AudioSystem>

This is a system that handles audio components.

Public Functions

inline ~AudioSystem()
inline virtual void setup() override

Function for initializing the system.

inline void onEngineExit(events::exit *event)
inline void onAudioSourceComponentCreate(events::component_creation<audio_source> *event)

Function callback for audio_source component creation.

Initiallizes sound source and sound file

inline void onAudioSourceComponentDestroy(events::component_destruction<audio_source> *event)

Function callback for audio_source component destruction.

inline void onAudioListenerComponentCreate(events::component_creation<audio_listener> *event)

Function callback for audio_listener component creation.

Initiallizes sound listener

inline void onAudioListenerComponentDestroy(events::component_destruction<audio_listener> *event)

Function callback for audio_listener component destruction.

inline void update(time::span deltatime)

Public Members

ecs::EntityQuery sourceQuery

Public Static Functions

static inline void setDistanceModel(ALenum distanceModel)

Public Static Attributes

static async::spinlock contextLock
static ALCcontext *alcContext = nullptr