Ejemplo n.º 1
0
 private void PlayWeaponChangeSfx()
 {
     if (WeaponChangeSfx == null)
     {
         return;
     }
     MMSoundManagerSoundPlayEvent.Trigger(WeaponChangeSfx, MMSoundManager.MMSoundManagerTracks.Sfx, this.transform.position);
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Triggers a play sound event
        /// </summary>
        /// <param name="sfx"></param>
        /// <param name="position"></param>
        /// <param name="intensity"></param>
        protected virtual void PlaySound(AudioClip sfx, Vector3 position, float intensity)
        {
            if (DoNotPlayIfClipAlreadyPlaying)
            {
                if (MMSoundManager.Instance.FindByClip(sfx) != null)
                {
                    return;
                }
            }

            float volume = Random.Range(MinVolume, MaxVolume);

            if (!Timing.ConstantIntensity)
            {
                volume = volume * intensity;
            }

            float pitch = Random.Range(MinPitch, MaxPitch);

            int timeSamples = NormalPlayDirection ? 0 : sfx.samples - 1;

            /*if (!NormalPlayDirection)
             * {
             *  pitch = -pitch;
             * }*/

            _options.MmSoundManagerTrack = MmSoundManagerTrack;
            _options.Location            = position;
            _options.Loop                             = Loop;
            _options.Volume                           = volume;
            _options.ID                               = ID;
            _options.Fade                             = Fade;
            _options.FadeInitialVolume                = FadeInitialVolume;
            _options.FadeDuration                     = FadeDuration;
            _options.FadeTween                        = FadeTween;
            _options.Persistent                       = Persistent;
            _options.RecycleAudioSource               = RecycleAudioSource;
            _options.AudioGroup                       = AudioGroup;
            _options.Pitch                            = pitch;
            _options.PanStereo                        = PanStereo;
            _options.SpatialBlend                     = SpatialBlend;
            _options.SoloSingleTrack                  = SoloSingleTrack;
            _options.SoloAllTracks                    = SoloAllTracks;
            _options.AutoUnSoloOnEnd                  = AutoUnSoloOnEnd;
            _options.BypassEffects                    = BypassEffects;
            _options.BypassListenerEffects            = BypassListenerEffects;
            _options.BypassReverbZones                = BypassReverbZones;
            _options.Priority                         = Priority;
            _options.ReverbZoneMix                    = ReverbZoneMix;
            _options.DopplerLevel                     = DopplerLevel;
            _options.Spread                           = Spread;
            _options.RolloffMode                      = RolloffMode;
            _options.MinDistance                      = MinDistance;
            _options.MaxDistance                      = MaxDistance;
            _options.DoNotAutoRecycleIfNotDonePlaying = DoNotAutoRecycleIfNotDonePlaying;

            _playedAudioSource = MMSoundManagerSoundPlayEvent.Trigger(sfx, _options);
        }