TopDown Engine  v4.2
MoreMountains.Feedbacks.MMLightShaker Class Reference

Add this to a light to have it receive MMLightShakeEvents from feedbacks or to shake it locally More...

Inheritance diagram for MoreMountains.Feedbacks.MMLightShaker:
MoreMountains.Feedbacks.MMShaker MoreMountains.Tools.MMMonoBehaviour

Public Member Functions

override void StartListening ()
 Starts listening for events More...
 
override void StopListening ()
 Stops listening for events More...
 
virtual void OnMMLightShakeEvent (float shakeDuration, bool relativeValues, bool modifyColor, Gradient colorOverTime, AnimationCurve intensityCurve, float remapIntensityZero, float remapIntensityOne, AnimationCurve rangeCurve, float remapRangeZero, float remapRangeOne, AnimationCurve shadowStrengthCurve, float remapShadowStrengthZero, float remapShadowStrengthOne, float feedbacksIntensity=1.0f, MMChannelData channelData=null, bool resetShakerValuesAfterShake=true, bool resetTargetValuesAfterShake=true, bool useRange=false, float eventRange=0f, Vector3 eventOriginPosition=default(Vector3))
 
- Public Member Functions inherited from MoreMountains.Feedbacks.MMShaker
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 float ComputeRangeIntensity (bool useRange, float rangeDistance, bool useRangeFalloff, AnimationCurve rangeFalloff, Vector2 remapRangeFalloff, Vector3 rangePosition)
 

Public Attributes

Light BoundLight
 the light to affect when playing the feedback More...
 
bool StartsOff = true
 whether or not that light should be turned off on start More...
 
bool RelativeValues = true
 whether or not the values should be relative or not More...
 
bool ModifyColor = true
 whether or not this shaker should modify color More...
 
Gradient ColorOverTime
 the colors to apply to the light over time More...
 
AnimationCurve IntensityCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))
 
float RemapIntensityZero = 0f
 the value to remap the intensity curve's 0 to More...
 
float RemapIntensityOne = 1f
 the value to remap the intensity curve's 1 to More...
 
AnimationCurve RangeCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))
 the range to apply to the light over time More...
 
float RemapRangeZero = 0f
 the value to remap the range curve's 0 to More...
 
float RemapRangeOne = 10f
 the value to remap the range curve's 0 to More...
 
AnimationCurve ShadowStrengthCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))
 the range to apply to the light over time More...
 
float RemapShadowStrengthZero = 0f
 the value to remap the shadow strength's curve's 0 to More...
 
float RemapShadowStrengthOne = 1f
 the value to remap the shadow strength's curve's 1 to More...
 
- Public Attributes inherited from MoreMountains.Feedbacks.MMShaker
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

override void Initialization ()
 On init we initialize our values More...
 
virtual void Reset ()
 When that shaker gets added, we initialize its shake duration More...
 
override void Shake ()
 Shakes values over time More...
 
override void GrabInitialValues ()
 Collects initial values on the target More...
 
override void ResetTargetValues ()
 Resets the target's values More...
 
override void ResetShakerValues ()
 Resets the shaker's values More...
 
- Protected Member Functions inherited from MoreMountains.Feedbacks.MMShaker
virtual void Awake ()
 On Awake we grab our volume and profile More...
 
virtual void SetShakeStartedTimestamp ()
 Logs the start timestamp for this shaker More...
 
virtual void ShakeStarts ()
 Describes what happens when a shake starts More...
 
virtual void Update ()
 On Update, we shake our values if needed, or reset if our shake has ended 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 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

Color _initialColor
 
float _initialRange
 
float _initialIntensity
 
float _initialShadowStrength
 
bool _originalRelativeValues
 
bool _originalModifyColor
 
float _originalShakeDuration
 
Gradient _originalColorOverTime
 
AnimationCurve _originalIntensityCurve
 
float _originalRemapIntensityZero
 
float _originalRemapIntensityOne
 
AnimationCurve _originalRangeCurve
 
float _originalRemapRangeZero
 
float _originalRemapRangeOne
 
AnimationCurve _originalShadowStrengthCurve
 
float _originalRemapShadowStrengthZero
 
float _originalRemapShadowStrengthOne
 
- Protected Attributes inherited from MoreMountains.Feedbacks.MMShaker
float _shakeStartedTimestamp = -Single.MaxValue
 
float _shakeStartedTimestampUnscaled = -Single.MaxValue
 
float _remappedTimeSinceStart
 
bool _resetShakerValuesAfterShake
 
bool _resetTargetValuesAfterShake
 
float _journey
 

Additional Inherited Members

- Properties inherited from MoreMountains.Feedbacks.MMShaker
virtual bool? InCooldown [get]
 Returns true if this shaker is currently in cooldown, false otherwise More...
 

Detailed Description

Add this to a light to have it receive MMLightShakeEvents from feedbacks or to shake it locally

Member Function Documentation

◆ GrabInitialValues()

override void MoreMountains.Feedbacks.MMLightShaker.GrabInitialValues ( )
protectedvirtual

Collects initial values on the target

Reimplemented from MoreMountains.Feedbacks.MMShaker.

◆ Initialization()

override void MoreMountains.Feedbacks.MMLightShaker.Initialization ( )
protectedvirtual

On init we initialize our values

Reimplemented from MoreMountains.Feedbacks.MMShaker.

◆ OnMMLightShakeEvent()

virtual void MoreMountains.Feedbacks.MMLightShaker.OnMMLightShakeEvent ( float  shakeDuration,
bool  relativeValues,
bool  modifyColor,
Gradient  colorOverTime,
AnimationCurve  intensityCurve,
float  remapIntensityZero,
float  remapIntensityOne,
AnimationCurve  rangeCurve,
float  remapRangeZero,
float  remapRangeOne,
AnimationCurve  shadowStrengthCurve,
float  remapShadowStrengthZero,
float  remapShadowStrengthOne,
float  feedbacksIntensity = 1.0f,
MMChannelData  channelData = null,
bool  resetShakerValuesAfterShake = true,
bool  resetTargetValuesAfterShake = true,
bool  useRange = false,
float  eventRange = 0f,
Vector3  eventOriginPosition = default(Vector3) 
)
virtual

◆ Reset()

virtual void MoreMountains.Feedbacks.MMLightShaker.Reset ( )
protectedvirtual

When that shaker gets added, we initialize its shake duration

◆ ResetShakerValues()

override void MoreMountains.Feedbacks.MMLightShaker.ResetShakerValues ( )
protectedvirtual

Resets the shaker's values

Reimplemented from MoreMountains.Feedbacks.MMShaker.

◆ ResetTargetValues()

override void MoreMountains.Feedbacks.MMLightShaker.ResetTargetValues ( )
protectedvirtual

Resets the target's values

Reimplemented from MoreMountains.Feedbacks.MMShaker.

◆ Shake()

override void MoreMountains.Feedbacks.MMLightShaker.Shake ( )
protectedvirtual

Shakes values over time

Reimplemented from MoreMountains.Feedbacks.MMShaker.

◆ StartListening()

override void MoreMountains.Feedbacks.MMLightShaker.StartListening ( )
virtual

Starts listening for events

Reimplemented from MoreMountains.Feedbacks.MMShaker.

◆ StopListening()

override void MoreMountains.Feedbacks.MMLightShaker.StopListening ( )
virtual

Stops listening for events

Reimplemented from MoreMountains.Feedbacks.MMShaker.

Member Data Documentation

◆ _initialColor

Color MoreMountains.Feedbacks.MMLightShaker._initialColor
protected

◆ _initialIntensity

float MoreMountains.Feedbacks.MMLightShaker._initialIntensity
protected

◆ _initialRange

float MoreMountains.Feedbacks.MMLightShaker._initialRange
protected

◆ _initialShadowStrength

float MoreMountains.Feedbacks.MMLightShaker._initialShadowStrength
protected

◆ _originalColorOverTime

Gradient MoreMountains.Feedbacks.MMLightShaker._originalColorOverTime
protected

◆ _originalIntensityCurve

AnimationCurve MoreMountains.Feedbacks.MMLightShaker._originalIntensityCurve
protected

◆ _originalModifyColor

bool MoreMountains.Feedbacks.MMLightShaker._originalModifyColor
protected

◆ _originalRangeCurve

AnimationCurve MoreMountains.Feedbacks.MMLightShaker._originalRangeCurve
protected

◆ _originalRelativeValues

bool MoreMountains.Feedbacks.MMLightShaker._originalRelativeValues
protected

◆ _originalRemapIntensityOne

float MoreMountains.Feedbacks.MMLightShaker._originalRemapIntensityOne
protected

◆ _originalRemapIntensityZero

float MoreMountains.Feedbacks.MMLightShaker._originalRemapIntensityZero
protected

◆ _originalRemapRangeOne

float MoreMountains.Feedbacks.MMLightShaker._originalRemapRangeOne
protected

◆ _originalRemapRangeZero

float MoreMountains.Feedbacks.MMLightShaker._originalRemapRangeZero
protected

◆ _originalRemapShadowStrengthOne

float MoreMountains.Feedbacks.MMLightShaker._originalRemapShadowStrengthOne
protected

◆ _originalRemapShadowStrengthZero

float MoreMountains.Feedbacks.MMLightShaker._originalRemapShadowStrengthZero
protected

◆ _originalShadowStrengthCurve

AnimationCurve MoreMountains.Feedbacks.MMLightShaker._originalShadowStrengthCurve
protected

◆ _originalShakeDuration

float MoreMountains.Feedbacks.MMLightShaker._originalShakeDuration
protected

◆ BoundLight

Light MoreMountains.Feedbacks.MMLightShaker.BoundLight

the light to affect when playing the feedback

◆ ColorOverTime

Gradient MoreMountains.Feedbacks.MMLightShaker.ColorOverTime

the colors to apply to the light over time

◆ IntensityCurve

AnimationCurve MoreMountains.Feedbacks.MMLightShaker.IntensityCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))

the intensity to apply to the light over time the curve to tween the intensity on

◆ ModifyColor

bool MoreMountains.Feedbacks.MMLightShaker.ModifyColor = true

whether or not this shaker should modify color

◆ RangeCurve

AnimationCurve MoreMountains.Feedbacks.MMLightShaker.RangeCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))

the range to apply to the light over time

◆ RelativeValues

bool MoreMountains.Feedbacks.MMLightShaker.RelativeValues = true

whether or not the values should be relative or not

◆ RemapIntensityOne

float MoreMountains.Feedbacks.MMLightShaker.RemapIntensityOne = 1f

the value to remap the intensity curve's 1 to

◆ RemapIntensityZero

float MoreMountains.Feedbacks.MMLightShaker.RemapIntensityZero = 0f

the value to remap the intensity curve's 0 to

◆ RemapRangeOne

float MoreMountains.Feedbacks.MMLightShaker.RemapRangeOne = 10f

the value to remap the range curve's 0 to

◆ RemapRangeZero

float MoreMountains.Feedbacks.MMLightShaker.RemapRangeZero = 0f

the value to remap the range curve's 0 to

◆ RemapShadowStrengthOne

float MoreMountains.Feedbacks.MMLightShaker.RemapShadowStrengthOne = 1f

the value to remap the shadow strength's curve's 1 to

◆ RemapShadowStrengthZero

float MoreMountains.Feedbacks.MMLightShaker.RemapShadowStrengthZero = 0f

the value to remap the shadow strength's curve's 0 to

◆ ShadowStrengthCurve

AnimationCurve MoreMountains.Feedbacks.MMLightShaker.ShadowStrengthCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))

the range to apply to the light over time

◆ StartsOff

bool MoreMountains.Feedbacks.MMLightShaker.StartsOff = true

whether or not that light should be turned off on start


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