JD2022-TU1/main/extern/Soundwich/Solution/Engine/Src/Components/JustDance/JDSound.cpp

59 lines
1.2 KiB
C++

#include "JDSound.h"
Util::DynamicArray< Soundwich::IJustDanceSoundEffectCallback* > Soundwich::JDSound::m_callbacks;
bool Soundwich::JDSound::Init( )
{
return true;
}
Soundwich::JDSound::~JDSound( )
{
}
void Soundwich::JDSound::PushEventIn( uint32 index, Component* from )
{
switch( index )
{
case PlayEventIn:
{
ExecutePlayCallbacks();
}
break;
case StopEventIn:
{
ExecuteStopCallbacks();
}
break;
default:
Assert( 0 );
}
}
void Soundwich::JDSound::RegisterCallback( IJustDanceSoundEffectCallback* cb )
{
m_callbacks.PushBack( cb );
}
void Soundwich::JDSound::UnregisterCallback( IJustDanceSoundEffectCallback* cb )
{
m_callbacks.Remove( cb );
}
void Soundwich::JDSound::ExecutePlayCallbacks( )
{
for( uint32 count = 0; count < m_callbacks.Size( ); ++count )
{
m_callbacks[ count ]->OnPlaySoundEffect( _data.SoundEffect.Chars() );
}
}
void Soundwich::JDSound::ExecuteStopCallbacks( )
{
for( uint32 count = 0; count < m_callbacks.Size( ); ++count )
{
m_callbacks[ count ]->OnStopSoundEffect( _data.SoundEffect.Chars() );
}
}