#include "TriggerEvent.h" #include "BaseDataDefine.h" #include "SoundBuffer.h" #include "SoundManager.h" #include #include //ÀÌÆåÆ® Ãâ·Â #include "SceneManager.h" #include /////////////////////////////////////////////////////////////////////////// // ITriggerEvent::ITriggerEvent() : m_pszArg( 0 ) { } ITriggerEvent::~ITriggerEvent() { ITriggerEvent::Destroy(); } void ITriggerEvent::Create( const char * szArg ) { SetArgument( szArg ); } void ITriggerEvent::Destroy() { delete [] m_pszArg; m_pszArg = 0; } void ITriggerEvent::SetArgument( const char * szArg ) { if( m_pszArg ) delete [] m_pszArg; int size = strlen( szArg ); m_pszArg = new char[ size + 1 ]; strcpy( m_pszArg, szArg ); } /////////////////////////////////////////////////////////////////////////// // CEvent_MusicPlay::CEvent_MusicPlay() : m_pSoundBuffer( NULL ) { } CEvent_MusicPlay::~CEvent_MusicPlay() { Destroy(); m_pSoundBuffer = 0; } void CEvent_MusicPlay::Create( const char * szFilename ) { try { CSoundManager & sndManager = CSoundManager::GetInstance(); char szArg[1024]; strcpy( szArg, SOUNDFILEPATH ); strcpy( szArg + strlen( szArg ), szFilename ); ITriggerEvent::Create( szArg ); ISoundObject & sndBuf = sndManager.GetBuffer( szArg, false, true, 2 ); m_pSoundBuffer = &sndBuf; } catch( std::exception & e ) { MessageBox( NULL, e.what(), "Error!!", MB_OK ); } } void CEvent_MusicPlay::Destroy() { ITriggerEvent::Destroy(); } void CEvent_MusicPlay::Begin() { try { m_pSoundBuffer->Play( 0, true ); } catch( std::exception & e ) { MessageBox( NULL, e.what(), "Error!!", MB_OK ); } } void CEvent_MusicPlay::End() { try { m_pSoundBuffer->Stop( 0 ); m_pSoundBuffer->Reset( 0 ); } catch( std::exception & e ) { MessageBox( NULL, e.what(), "Error!!", MB_OK ); } } /////////////////////////////////////////////////////////////////////////// // CEvent_MusicPlayOnce::CEvent_MusicPlayOnce() : CEvent_MusicPlay() { } void CEvent_MusicPlayOnce::Begin() { try { if( !m_pSoundBuffer->IsPlaying( 0 ) ) { m_pSoundBuffer->Reset( 0 ); m_pSoundBuffer->Play( 0, false ); } } catch( std::exception & e ) { MessageBox( NULL, e.what(), "Error!!", MB_OK ); } } void CEvent_MusicPlayOnce::End() { } /////////////////////////////////////////////////////////////////////////// // #include //staticº¯¼ö Á¤ÀÇ CEvent_ShowMessage::FUNC_SHOWMSG CEvent_ShowMessage::ShowMessageFunction = NULL; void CEvent_ShowMessage::Begin() { if( ShowMessageFunction ) (*ShowMessageFunction)( m_pszArg ); MessageBox( NULL, m_pszArg, "TriggerEvent", MB_OK ); } void CEvent_ShowMessage::End() { } /////////////////////////////////////////////////////////////////////////// // CEvent_ShowEffect::CEvent_ShowEffect() : m_pEffectScript( NULL ) { } void CEvent_ShowEffect::Begin() { if( m_pEffectScript == NULL ) { m_pEffectScript = new CEffScript; m_pEffectScript->SetInterfaceSet(true); m_pEffectScript->GetScriptBinData((char*)m_pszArg); CSceneManager::m_EffectManager.AddInterfaceScript(m_pEffectScript); } } void CEvent_ShowEffect::End() { } ///////////////////////////////////////////////////////////////////////////