59 lines
1.4 KiB
C++
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() );
|
|
}
|
|
}
|