private void PlayWeaponChangeSfx() { if (WeaponChangeSfx == null) { return; } MMSoundManagerSoundPlayEvent.Trigger(WeaponChangeSfx, MMSoundManager.MMSoundManagerTracks.Sfx, this.transform.position); }
/// <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); }