コード例 #1
0
 private void PlayState(string soundName, SoundItem soundItem)
 {
     soundItem.Play(Mute, volume);
     if (!dicAllSounds.ContainsKey(soundName))
     {
         dicAllSounds.Add(soundName, soundItem);
     }
 }
コード例 #2
0
        /// <summary>播放声音</summary>
        private void playSound(string soundName, Transform target, bool isLoop, DelSoundCallback callback)
        {
            DeleteNullSound(soundName);

            if (!m_DicAllAudioClip.ContainsKey(soundName) || m_DicAllAudioClip[soundName] == null)
            {
                return;
            }

            if (m_DicAllSound.ContainsKey(soundName) && m_DicAllSound[soundName] != null)
            {
                m_DicAllSound[soundName].target           = target;
                m_DicAllSound[soundName].audioSource.loop = isLoop;
                m_DicAllSound[soundName].onCallback       = callback;

                m_DicAllSound[soundName].Play(Mute, Volume);
            }
            else
            {
                if (m_DicAllSound.ContainsKey(soundName))
                {
                    m_DicAllSound.Remove(soundName);
                }

                GameObject  item        = new GameObject(soundName);
                AudioSource audioSource = item.AddComponent <AudioSource>();
                audioSource.playOnAwake = false;
                audioSource.loop        = isLoop;
                SoundItem soundItem = item.AddComponent <SoundItem>();
                soundItem.soundName   = soundName;
                soundItem.onCallback  = callback;
                soundItem.target      = target;
                soundItem.audioSource = audioSource;
                soundItem.clip        = m_DicAllAudioClip[soundName];
                soundItem.Play(Mute, Volume);
                m_DicAllSound.Add(soundName, soundItem);
            }
        }