/// <summary> /// Triggers the corresponding coroutine /// </summary> /// <param name="position"></param> /// <param name="attenuation"></param> protected override void CustomPlayFeedback(Vector3 position, float attenuation = 1.0f) { if (Active) { MMAudioFilterEchoShakeEvent.Trigger(ShakeEcho, Duration, RemapEchoZero, RemapEchoOne, RelativeEcho, attenuation, Channel, ResetShakerValuesAfterShake, ResetTargetValuesAfterShake); } }
/// <summary> /// On stop we stop our transition /// </summary> /// <param name="position"></param> /// <param name="feedbacksIntensity"></param> protected override void CustomStopFeedback(Vector3 position, float feedbacksIntensity = 1) { base.CustomStopFeedback(position, feedbacksIntensity); if (Active) { MMAudioFilterEchoShakeEvent.Trigger(ShakeEcho, FeedbackDuration, RemapEchoZero, RemapEchoOne, RelativeEcho, stop: true); } }
/// <summary> /// On stop we stop our transition /// </summary> /// <param name="position"></param> /// <param name="feedbacksIntensity"></param> protected override void CustomStopFeedback(Vector3 position, float feedbacksIntensity = 1) { if (!Active || !FeedbackTypeAuthorized) { return; } base.CustomStopFeedback(position, feedbacksIntensity); MMAudioFilterEchoShakeEvent.Trigger(ShakeEcho, FeedbackDuration, RemapEchoZero, RemapEchoOne, RelativeEcho, stop: true); }
/// <summary> /// Triggers the corresponding coroutine /// </summary> /// <param name="position"></param> /// <param name="feedbacksIntensity"></param> protected override void CustomPlayFeedback(Vector3 position, float feedbacksIntensity = 1.0f) { if (Active) { float intensityMultiplier = Timing.ConstantIntensity ? 1f : feedbacksIntensity; MMAudioFilterEchoShakeEvent.Trigger(ShakeEcho, FeedbackDuration, RemapEchoZero, RemapEchoOne, RelativeEcho, intensityMultiplier, Channel, ResetShakerValuesAfterShake, ResetTargetValuesAfterShake, NormalPlayDirection, Timing.TimescaleMode); } }
/// <summary> /// Stops listening for events /// </summary> public override void StopListening() { base.StopListening(); MMAudioFilterEchoShakeEvent.Unregister(OnMMAudioFilterEchoShakeEvent); }