示例#1
0
        public AudioAsset CreateAudioAssetByPool(GameObject gameObject, bool is3D, AudioSourceType sourceType)
        {
            AudioAsset au = new AudioAsset();

            if (audioAssetsPool.Count > 0)
            {
                au = audioAssetsPool.Dequeue();
                au.ResetData();
            }
            else
            {
                au             = new AudioAsset();
                au.audioSource = gameObject.AddComponent <AudioSource>();
            }

            au.audioSource.spatialBlend = is3D ? 1 : 0;
            au.sourceType = sourceType;

            if (sourceType == AudioSourceType.Music)
            {
                au.TotleVolume = musicVolume;
            }
            else
            {
                au.TotleVolume = sfxVolume;
            }
            return(au);
        }