1#include "AudioListenerComponent.h"
3#include "ExtensionRegistry.h"
6#include "AudioSystem.h"
8#include "Foundation/Reflection/TypeDatabase.h"
12void Cogs::Core::AudioListenerComponent::registerType()
15 Field(
Name(
"volume"), &AudioListenerComponent::volume),
19 Method(
Name(
"update"), &AudioListenerComponent::update),
20 Method(
Name(
"initialize"), &AudioListenerComponent::initialize),
21 Method(
Name(
"cleanup"), &AudioListenerComponent::cleanup),
24 DynamicComponent::registerDerivedType<AudioListenerComponent>().setFields(fields).setMethods(methods);
27void Cogs::Core::AudioListenerComponent::initialize(Context * context)
29 auto audioSystem = ExtensionRegistry::getExtensionSystem<AudioSystem>(context);
31 if (!audioSystem)
return;
34 audioSystem->setAudioListener(getContainer()->getComponentHandle<AudioListenerComponent>());
37void Cogs::Core::AudioListenerComponent::update()
41void Cogs::Core::AudioListenerComponent::cleanup(Context * context)
43 auto audioSystem = ExtensionRegistry::getExtensionSystem<AudioSystem>(context);
45 if (!audioSystem)
return;
Field definition describing a single data member of a data structure.
Simple method definition.
Contains reflection support.
static ComponentHandle Empty()
Returns an empty, invalid handle. Will evaluate to false if tested against using operator bool().
Represents an unique name.