// PUBLIC // PRIVATE // PRIVATE STATIC // PRIVATE COROUTINE // PRIVATE INVOKE //-------------------------------------- // Events //-------------------------------------- /// <summary> /// When the sound play signal. /// </summary> /// <param name="aSoundPlayVO">A sound play V.</param> private void _onSoundPlaySignal (SoundPlayVO aSoundPlayVO) { view.playSound (aSoundPlayVO); }
// PUBLIC /// <summary> /// Plaies the sound. /// </summary> /// <param name="aSoundPlayVO">A sound play V.</param> public void playSound (SoundPlayVO aSoundPlayVO) { //Debug.Log ("playSound: " + aSoundPlayVO.soundType); switch (aSoundPlayVO.soundType){ case SoundType.BUTTON_CLICK: _getAudioSourceByIndex(1).clip = _getAudioClipByName ("ButtonClick01"); _getAudioSourceByIndex(1).Play (); break; case SoundType.TURRET_FIRE: _getAudioSourceByIndex(2).clip = _getRandomAudioClipFromNameArray ( new string[] {"TurretFire01","TurretFire02"} ); _getAudioSourceByIndex(2).Play (); break; case SoundType.ENEMY_FOOSTEP: _getAudioSourceByIndex(3).clip = _getRandomAudioClipFromNameArray ( new string[] {"EnemyFootstep01","EnemyFootstep02"} ); _getAudioSourceByIndex(3).Play (); break; case SoundType.ENEMY_ATTACK: _getAudioSourceByIndex(4).clip = _getRandomAudioClipFromNameArray ( new string[] {"EnemyAttack01","EnemyAttack02"} ); _getAudioSourceByIndex(4).Play (); break; case SoundType.ENEMY_DAMAGED: //overlaps fire sound, so skip this? //_getAudioSourceByIndex(5).clip = _getAudioClipByName ("ButtonClick01"); //_getAudioSourceByIndex(5).Play(); break; case SoundType.ENEMY_DIE: _getAudioSourceByIndex(5).clip = _getRandomAudioClipFromNameArray ( new string[] {"EnemyDie01","EnemyDie02"}); _getAudioSourceByIndex(5).Play (); break; case SoundType.GAME_OVER_WIN: _getAudioSourceByIndex(6).clip = _getAudioClipByName ("GameOverWin"); _getAudioSourceByIndex(6).Play (); break; case SoundType.GAME_OVER_LOSS: _getAudioSourceByIndex(6).clip = _getAudioClipByName ("GameOverLoss"); _getAudioSourceByIndex(6).Play (); break; default: #pragma warning disable 0162 throw new SwitchStatementException(); break; #pragma warning restore 0162 } }