コード例 #1
0
        public void PlayAudio(AudioIdentifier id, AudioPlayAction action, float volume = 1, float pan = 0, int priority = 128)
        {
            if (Time.frameCount > _spamFilter[id])
            {
                switch (action)
                {
                case AudioPlayAction.NEW:
                    Play(id, volume, pan, priority);
                    _spamFilter[id] = Time.frameCount + 3;
                    break;

                case AudioPlayAction.RESTART:
                    _audioSouces[id].Stop();
                    Play(id, volume, pan, priority);
                    _spamFilter[id] = Time.frameCount + 3;
                    break;

                case AudioPlayAction.WAIT:
                    if (!_audioSouces[id].isPlaying)
                    {
                        Play(id, volume, pan, priority);
                        _spamFilter[id] = Time.frameCount + 3;
                    }
                    break;
                }
            }
        }
コード例 #2
0
 private void Play(AudioIdentifier id, float volume, float pan, int priority)
 {
     _audioSouces[id].panStereo = pan;
     _audioSouces[id].volume    = volume;
     _audioSouces[id].priority  = priority;
     _audioSouces[id].Play();
 }
コード例 #3
0
        private void CreateAudioSouce(AudioIdentifier id, AudioClip clip)
        {
            GameObject audioSource = new GameObject(id.ToString());

            audioSource.transform.SetParent(transform);
            AudioSource source = audioSource.AddComponent <AudioSource>();

            source.clip = clip;
            _audioSouces.Add(id, source);
        }
コード例 #4
0
 public void PlayAudio(AudioIdentifier id, AudioPlayAction action, float volume = 1, float pan = 0, int priority = 128)
 {
     _audioHandler.PlayAudio(id, action, volume, pan, priority);
 }