Feel  3.16
The best way to improve your game's feel and make it extra juicy
MoreMountains.Feedbacks.MMShaker Class Reference
Inheritance diagram for MoreMountains.Feedbacks.MMShaker:
MoreMountains.Tools.MMMonoBehaviour MoreMountains.Feedbacks.MMAudioFilterDistortionShaker MoreMountains.Feedbacks.MMAudioFilterEchoShaker MoreMountains.Feedbacks.MMAudioFilterHighPassShaker MoreMountains.Feedbacks.MMAudioFilterLowPassShaker MoreMountains.Feedbacks.MMAudioFilterReverbShaker MoreMountains.Feedbacks.MMAudioSourcePitchShaker MoreMountains.Feedbacks.MMAudioSourceStereoPanShaker MoreMountains.Feedbacks.MMAudioSourceVolumeShaker MoreMountains.Feedbacks.MMCameraClippingPlanesShaker MoreMountains.Feedbacks.MMCameraFieldOfViewShaker MoreMountains.Feedbacks.MMCameraOrthographicSizeShaker MoreMountains.Feedbacks.MMFeedbacksShaker MoreMountains.Feedbacks.MMLightShaker MoreMountains.Feedbacks.MMLookAtShaker MoreMountains.Feedbacks.MMPositionShaker MoreMountains.Feedbacks.MMRotationShaker MoreMountains.Feedbacks.MMScaleShaker MoreMountains.Feedbacks.MMSpriteRendererShaker MoreMountains.FeedbacksForThirdParty.MMBloomShaker MoreMountains.FeedbacksForThirdParty.MMBloomShaker_HDRP MoreMountains.FeedbacksForThirdParty.MMBloomShaker_URP MoreMountains.FeedbacksForThirdParty.MMChannelMixerShaker_HDRP MoreMountains.FeedbacksForThirdParty.MMChannelMixerShaker_URP MoreMountains.FeedbacksForThirdParty.MMChromaticAberrationShaker MoreMountains.FeedbacksForThirdParty.MMChromaticAberrationShaker_HDRP MoreMountains.FeedbacksForThirdParty.MMChromaticAberrationShaker_URP MoreMountains.FeedbacksForThirdParty.MMCinemachineClippingPlanesShaker MoreMountains.FeedbacksForThirdParty.MMCinemachineFieldOfViewShaker MoreMountains.FeedbacksForThirdParty.MMCinemachineOrthographicSizeShaker MoreMountains.FeedbacksForThirdParty.MMColorAdjustmentsShaker_HDRP MoreMountains.FeedbacksForThirdParty.MMColorAdjustmentsShaker_URP MoreMountains.FeedbacksForThirdParty.MMColorGradingShaker MoreMountains.FeedbacksForThirdParty.MMDepthOfFieldShaker MoreMountains.FeedbacksForThirdParty.MMDepthOfFieldShaker_HDRP MoreMountains.FeedbacksForThirdParty.MMDepthOfFieldShaker_URP MoreMountains.FeedbacksForThirdParty.MMExposureShaker_HDRP MoreMountains.FeedbacksForThirdParty.MMFilmGrainShaker_HDRP MoreMountains.FeedbacksForThirdParty.MMFilmGrainShaker_URP MoreMountains.FeedbacksForThirdParty.MMLensDistortionShaker MoreMountains.FeedbacksForThirdParty.MMLensDistortionShaker_HDRP MoreMountains.FeedbacksForThirdParty.MMLensDistortionShaker_URP MoreMountains.FeedbacksForThirdParty.MMMotionBlurShaker_HDRP MoreMountains.FeedbacksForThirdParty.MMMotionBlurShaker_URP MoreMountains.FeedbacksForThirdParty.MMPaniniProjectionShaker_HDRP MoreMountains.FeedbacksForThirdParty.MMPaniniProjectionShaker_URP MoreMountains.FeedbacksForThirdParty.MMVignetteShaker MoreMountains.FeedbacksForThirdParty.MMVignetteShaker_HDRP MoreMountains.FeedbacksForThirdParty.MMVignetteShaker_URP MoreMountains.FeedbacksForThirdParty.MMWhiteBalanceShaker_HDRP MoreMountains.FeedbacksForThirdParty.MMWhiteBalanceShaker_URP

Public Member Functions

virtual float GetTime ()
 
virtual float GetDeltaTime ()
 
virtual void ForceInitialization ()
 Call this externally if you need to force a new initialization More...
 
virtual void StartShaking ()
 Starts shaking the values More...
 
virtual void Play ()
 Starts this shaker More...
 
virtual void Stop ()
 Stops this shaker More...
 
virtual void StartListening ()
 Starts listening for events More...
 
virtual void StopListening ()
 Stops listening for events More...
 
virtual float ComputeRangeIntensity (bool useRange, float rangeDistance, bool useRangeFalloff, AnimationCurve rangeFalloff, Vector2 remapRangeFalloff, Vector3 rangePosition)
 

Public Attributes

MMChannelModes ChannelMode = MMChannelModes.Int
 
int Channel = 0
 the channel to listen to - has to match the one on the feedback More...
 
MMChannel MMChannelDefinition = null
 
float ShakeDuration = 0.2f
 the duration of the shake, in seconds More...
 
bool PlayOnAwake = false
 if this is true this shaker will play on awake More...
 
bool PermanentShake = false
 if this is true, the shaker will shake permanently as long as its game object is active More...
 
bool Interruptible = true
 if this is true, a new shake can happen while shaking More...
 
bool AlwaysResetTargetValuesAfterShake = false
 if this is true, this shaker will always reset target values, regardless of how it was called More...
 
bool OnlyUseShakerValues = false
 if this is true, this shaker will ignore any value passed in an event that triggered it, and will instead use the values set on its inspector More...
 
float CooldownBetweenShakes = 0f
 a cooldown, in seconds, after a shake, during which no other shake can start More...
 
bool Shaking = false
 whether or not this shaker is shaking right now More...
 
bool ForwardDirection = true
 
TimescaleModes TimescaleMode = TimescaleModes.Scaled
 
virtual MMChannelData ChannelData => new MMChannelData(ChannelMode, Channel, MMChannelDefinition)
 
virtual bool ListeningToEvents => _listeningToEvents
 

Protected Member Functions

virtual void Awake ()
 On Awake we grab our volume and profile More...
 
virtual void Initialization ()
 Override this method to initialize your shaker More...
 
virtual void ShakeStarts ()
 Describes what happens when a shake starts More...
 
virtual void GrabInitialValues ()
 A method designed to collect initial values More...
 
virtual void Update ()
 On Update, we shake our values if needed, or reset if our shake has ended More...
 
virtual void Shake ()
 Override this method to implement shake over time More...
 
virtual float ShakeFloat (AnimationCurve curve, float remapMin, float remapMax, bool relativeIntensity, float initialValue)
 A method used to "shake" a flot over time along a curve More...
 
virtual Color ShakeGradient (Gradient gradient)
 
virtual void ResetTargetValues ()
 Resets the values on the target More...
 
virtual void ResetShakerValues ()
 Resets the values on the shaker More...
 
virtual void ShakeComplete ()
 Describes what happens when the shake is complete More...
 
virtual void OnEnable ()
 On enable we start shaking if needed More...
 
virtual void OnDestroy ()
 On destroy we stop listening for events More...
 
virtual void OnDisable ()
 On disable we complete our shake if it was in progress More...
 
virtual bool CheckEventAllowed (MMChannelData channelData, bool useRange=false, float range=0f, Vector3 eventOriginPosition=default(Vector3))
 Returns true if this shaker should listen to events, false otherwise More...
 

Protected Attributes

float _shakeStartedTimestamp = -Single.MaxValue
 
float _remappedTimeSinceStart
 
bool _resetShakerValuesAfterShake
 
bool _resetTargetValuesAfterShake
 
float _journey
 

Member Function Documentation

◆ Awake()

virtual void MoreMountains.Feedbacks.MMShaker.Awake ( )
protectedvirtual

On Awake we grab our volume and profile

◆ CheckEventAllowed()

virtual bool MoreMountains.Feedbacks.MMShaker.CheckEventAllowed ( MMChannelData  channelData,
bool  useRange = false,
float  range = 0f,
Vector3  eventOriginPosition = default(Vector3) 
)
protectedvirtual

Returns true if this shaker should listen to events, false otherwise

Parameters
channel
Returns

◆ ComputeRangeIntensity()

virtual float MoreMountains.Feedbacks.MMShaker.ComputeRangeIntensity ( bool  useRange,
float  rangeDistance,
bool  useRangeFalloff,
AnimationCurve  rangeFalloff,
Vector2  remapRangeFalloff,
Vector3  rangePosition 
)
virtual

◆ ForceInitialization()

virtual void MoreMountains.Feedbacks.MMShaker.ForceInitialization ( )
virtual

Call this externally if you need to force a new initialization

◆ GetDeltaTime()

virtual float MoreMountains.Feedbacks.MMShaker.GetDeltaTime ( )
virtual

◆ GetTime()

virtual float MoreMountains.Feedbacks.MMShaker.GetTime ( )
virtual

◆ GrabInitialValues()

◆ Initialization()

◆ OnDestroy()

virtual void MoreMountains.Feedbacks.MMShaker.OnDestroy ( )
protectedvirtual

On destroy we stop listening for events

◆ OnDisable()

virtual void MoreMountains.Feedbacks.MMShaker.OnDisable ( )
protectedvirtual

On disable we complete our shake if it was in progress

◆ OnEnable()

virtual void MoreMountains.Feedbacks.MMShaker.OnEnable ( )
protectedvirtual

On enable we start shaking if needed

◆ Play()

virtual void MoreMountains.Feedbacks.MMShaker.Play ( )
virtual

Starts this shaker

◆ ResetShakerValues()

◆ ResetTargetValues()

◆ Shake()

◆ ShakeComplete()

virtual void MoreMountains.Feedbacks.MMShaker.ShakeComplete ( )
protectedvirtual

◆ ShakeFloat()

virtual float MoreMountains.Feedbacks.MMShaker.ShakeFloat ( AnimationCurve  curve,
float  remapMin,
float  remapMax,
bool  relativeIntensity,
float  initialValue 
)
protectedvirtual

A method used to "shake" a flot over time along a curve

Parameters
curve
remapMin
remapMax
relativeIntensity
initialValue
Returns

◆ ShakeGradient()

virtual Color MoreMountains.Feedbacks.MMShaker.ShakeGradient ( Gradient  gradient)
protectedvirtual

◆ ShakeStarts()

virtual void MoreMountains.Feedbacks.MMShaker.ShakeStarts ( )
protectedvirtual

◆ StartListening()

◆ StartShaking()

virtual void MoreMountains.Feedbacks.MMShaker.StartShaking ( )
virtual

Starts shaking the values

◆ Stop()

virtual void MoreMountains.Feedbacks.MMShaker.Stop ( )
virtual

Stops this shaker

◆ StopListening()

◆ Update()

virtual void MoreMountains.Feedbacks.MMShaker.Update ( )
protectedvirtual

On Update, we shake our values if needed, or reset if our shake has ended

Member Data Documentation

◆ _journey

float MoreMountains.Feedbacks.MMShaker._journey
protected

◆ _remappedTimeSinceStart

float MoreMountains.Feedbacks.MMShaker._remappedTimeSinceStart
protected

◆ _resetShakerValuesAfterShake

bool MoreMountains.Feedbacks.MMShaker._resetShakerValuesAfterShake
protected

◆ _resetTargetValuesAfterShake

bool MoreMountains.Feedbacks.MMShaker._resetTargetValuesAfterShake
protected

◆ _shakeStartedTimestamp

float MoreMountains.Feedbacks.MMShaker._shakeStartedTimestamp = -Single.MaxValue
protected

◆ AlwaysResetTargetValuesAfterShake

bool MoreMountains.Feedbacks.MMShaker.AlwaysResetTargetValuesAfterShake = false

if this is true, this shaker will always reset target values, regardless of how it was called

◆ Channel

int MoreMountains.Feedbacks.MMShaker.Channel = 0

the channel to listen to - has to match the one on the feedback

◆ ChannelData

virtual MMChannelData MoreMountains.Feedbacks.MMShaker.ChannelData => new MMChannelData(ChannelMode, Channel, MMChannelDefinition)

◆ ChannelMode

MMChannelModes MoreMountains.Feedbacks.MMShaker.ChannelMode = MMChannelModes.Int

whether to listen on a channel defined by an int or by a MMChannel scriptable object. Ints are simple to setup but can get messy and make it harder to remember what int corresponds to what. MMChannel scriptable objects require you to create them in advance, but come with a readable name and are more scalable

◆ CooldownBetweenShakes

float MoreMountains.Feedbacks.MMShaker.CooldownBetweenShakes = 0f

a cooldown, in seconds, after a shake, during which no other shake can start

◆ ForwardDirection

bool MoreMountains.Feedbacks.MMShaker.ForwardDirection = true

◆ Interruptible

bool MoreMountains.Feedbacks.MMShaker.Interruptible = true

if this is true, a new shake can happen while shaking

◆ ListeningToEvents

virtual bool MoreMountains.Feedbacks.MMShaker.ListeningToEvents => _listeningToEvents

◆ MMChannelDefinition

MMChannel MoreMountains.Feedbacks.MMShaker.MMChannelDefinition = null

the MMChannel definition asset to use to listen for events. The feedbacks targeting this shaker will have to reference that same MMChannel definition to receive events - to create a MMChannel, right click anywhere in your project (usually in a Data folder) and go MoreMountains > MMChannel, then name it with some unique name

◆ OnlyUseShakerValues

bool MoreMountains.Feedbacks.MMShaker.OnlyUseShakerValues = false

if this is true, this shaker will ignore any value passed in an event that triggered it, and will instead use the values set on its inspector

◆ PermanentShake

bool MoreMountains.Feedbacks.MMShaker.PermanentShake = false

if this is true, the shaker will shake permanently as long as its game object is active

◆ PlayOnAwake

bool MoreMountains.Feedbacks.MMShaker.PlayOnAwake = false

if this is true this shaker will play on awake

◆ ShakeDuration

float MoreMountains.Feedbacks.MMShaker.ShakeDuration = 0.2f

the duration of the shake, in seconds

◆ Shaking

bool MoreMountains.Feedbacks.MMShaker.Shaking = false

whether or not this shaker is shaking right now

◆ TimescaleMode

TimescaleModes MoreMountains.Feedbacks.MMShaker.TimescaleMode = TimescaleModes.Scaled

The documentation for this class was generated from the following file: