Esempio n. 1
0
        private void RegisterAudioSource(GameSoundType type, AudioSource audioSource)
        {
            AudioGlobalControl audioGlobalControl = new AudioGlobalControl();

            audioGlobalControl.Audio = audioSource;
            audioGlobalControl.Type  = type;

            switch (type)
            {
            case GameSoundType.Background:
                audioSource.outputAudioMixerGroup = GameMainAudioMixerGroupBackgroundMusic;
                break;

            case GameSoundType.BallEffect:
                audioSource.outputAudioMixerGroup = GameMainAudioMixerGroupBallEffect;
                break;

            case GameSoundType.ModulEffect:
                audioSource.outputAudioMixerGroup = GameMainAudioMixerGroupModulEffect;
                break;

            case GameSoundType.Normal:
                audioSource.outputAudioMixerGroup = GameMainAudioMixerGroupMaster;
                break;

            case GameSoundType.UI:
                audioSource.outputAudioMixerGroup = GameUIAudioMixerGroupMaster;
                break;
            }


            audios.Add(audioGlobalControl);
        }
Esempio n. 2
0
 private bool IsSoundPlayerRegistered(AudioSource audioSource, out AudioGlobalControl audioGlobalControl)
 {
     foreach (AudioGlobalControl a in audios)
     {
         if (a.Audio == audioSource)
         {
             audioGlobalControl = a;
             return(true);
         }
     }
     audioGlobalControl = null;
     return(false);
 }
Esempio n. 3
0
        /// <summary>
        /// 销毁 SoundPlayer
        /// </summary>
        /// <param name="assets">SoundPlayer</param>
        public bool DestroySoundPlayer(AudioSource assets)
        {
            AudioGlobalControl audioGlobalControl = null;

            if (IsSoundPlayerRegistered(assets, out audioGlobalControl))
            {
                audios.Remove(audioGlobalControl);
                if (audioGlobalControl.Audio.gameObject != null)
                {
                    Destroy(audioGlobalControl.Audio.gameObject);
                }
                return(true);
            }
            else
            {
                GameErrorManager.LastError = GameError.NotRegister;
                return(false);
            }
        }