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

59 lines
1.4 KiB
C++

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