Feel  3.16
The best way to improve your game's feel and make it extra juicy
MoreMountains.Feedbacks.MMLookAtShaker Class Reference

Add this to an object and it'll be able to listen for MMFLookAtShakeEvents, and when one is received, it will rotate its associated transform accordingly More...

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

Classes

struct  MMLookAtShakeEvent
 An event used to trigger a look at shake More...
 

Public Member Functions

virtual void OnMMLookAtShakeEvent (float duration, bool lockXAxis, bool lockYAxis, bool lockZAxis, MMF_LookAt.UpwardVectors upwardVector, MMF_LookAt.LookAtTargetModes lookAtTargetMode, Transform lookAtTarget, Vector3 lookAtTargetWorldPosition, Vector3 lookAtDirection, Transform transformToRotate, MMTweenType lookAtTween, bool useRange=false, float rangeDistance=0f, bool useRangeFalloff=false, AnimationCurve rangeFalloff=null, Vector2 remapRangeFalloff=default(Vector2), Vector3 rangePosition=default(Vector3), float feedbacksIntensity=1.0f, MMChannelData channelData=null, bool resetShakerValuesAfterShake=true, bool resetTargetValuesAfterShake=true, bool forwardDirection=true, TimescaleModes timescaleMode=TimescaleModes.Scaled, bool stop=false)
 When getting a new look at event, we make our transform look at the specified target More...
 
override void StartListening ()
 Starts listening for events More...
 
override void StopListening ()
 Stops listening for events More...
 
- 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

float Duration = 1f
 the duration of this shake, in seconds More...
 
MMTweenType LookAtTween = new MMTweenType( new AnimationCurve(new Keyframe(0, 0), new Keyframe(1, 1)))
 the curve over which to animate the look at transition More...
 
bool LockXAxis = false
 whether or not to lock rotation on the x axis More...
 
bool LockYAxis = false
 whether or not to lock rotation on the y axis More...
 
bool LockZAxis = false
 whether or not to lock rotation on the z axis More...
 
Transform TransformToRotate
 in Direct mode, the transform to rotate to have it look at our target - if left empty, will be the transform this shaker is on More...
 
MMF_LookAt.UpwardVectors UpwardVector = MMF_LookAt.UpwardVectors.Up
 the vector representing the up direction on the object we want to rotate and look at our target More...
 
MMF_LookAt.LookAtTargetModes LookAtTargetMode = MMF_LookAt.LookAtTargetModes.Transform
 the different target modes : either a specific transform to look at, the coordinates of a world position, or a direction vector More...
 
Transform LookAtTarget
 the transform we want to look at More...
 
Vector3 LookAtTargetWorldPosition = Vector3.forward
 the coordinates of a point the world that we want to look at More...
 
Vector3 LookAtDirection = Vector3.forward
 a direction (from our rotating object) that we want to look at More...
 
bool StartShakingButton
 
- 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 store our initial rotation More...
 
virtual void Reset ()
 When that shaker gets added, we initialize its shake duration More...
 
override void Shake ()
 On shake we apply rotation on our target transform More...
 
override void ShakeComplete ()
 On shake complete, we apply our final rotation More...
 
virtual void ApplyRotation (float journey)
 Rotates the associated transform to look at our target More...
 
override void ResetTargetValues ()
 On ResetTargetValue, we reset our target transform's rotation 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 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 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 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

Quaternion _newRotation
 
Vector3 _lookAtPosition
 
Vector3 _upwards
 
Vector3 _direction
 
Quaternion _initialRotation
 
float _originalDuration = 1f
 
MMTweenType _originalLookAtTween
 
bool _originalLockXAxis
 
bool _originalLockYAxis
 
bool _originalLockZAxis
 
MMF_LookAt.UpwardVectors _originalUpwardVector
 
MMF_LookAt.LookAtTargetModes _originalLookAtTargetMode
 
Transform _originalLookAtTarget
 
Vector3 _originalLookAtTargetWorldPosition
 
Vector3 _originalLookAtDirection
 
- Protected Attributes inherited from MoreMountains.Feedbacks.MMShaker
float _shakeStartedTimestamp = -Single.MaxValue
 
float _remappedTimeSinceStart
 
bool _resetShakerValuesAfterShake
 
bool _resetTargetValuesAfterShake
 
float _journey
 

Detailed Description

Add this to an object and it'll be able to listen for MMFLookAtShakeEvents, and when one is received, it will rotate its associated transform accordingly

Member Function Documentation

◆ ApplyRotation()

virtual void MoreMountains.Feedbacks.MMLookAtShaker.ApplyRotation ( float  journey)
protectedvirtual

Rotates the associated transform to look at our target

Parameters
journey

◆ Initialization()

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

On init we store our initial rotation

Reimplemented from MoreMountains.Feedbacks.MMShaker.

◆ OnMMLookAtShakeEvent()

virtual void MoreMountains.Feedbacks.MMLookAtShaker.OnMMLookAtShakeEvent ( float  duration,
bool  lockXAxis,
bool  lockYAxis,
bool  lockZAxis,
MMF_LookAt.UpwardVectors  upwardVector,
MMF_LookAt.LookAtTargetModes  lookAtTargetMode,
Transform  lookAtTarget,
Vector3  lookAtTargetWorldPosition,
Vector3  lookAtDirection,
Transform  transformToRotate,
MMTweenType  lookAtTween,
bool  useRange = false,
float  rangeDistance = 0f,
bool  useRangeFalloff = false,
AnimationCurve  rangeFalloff = null,
Vector2  remapRangeFalloff = default(Vector2),
Vector3  rangePosition = default(Vector3),
float  feedbacksIntensity = 1.0f,
MMChannelData  channelData = null,
bool  resetShakerValuesAfterShake = true,
bool  resetTargetValuesAfterShake = true,
bool  forwardDirection = true,
TimescaleModes  timescaleMode = TimescaleModes.Scaled,
bool  stop = false 
)
virtual

When getting a new look at event, we make our transform look at the specified target

◆ Reset()

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

When that shaker gets added, we initialize its shake duration

◆ ResetShakerValues()

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

Resets the shaker's values

Reimplemented from MoreMountains.Feedbacks.MMShaker.

◆ ResetTargetValues()

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

On ResetTargetValue, we reset our target transform's rotation

Reimplemented from MoreMountains.Feedbacks.MMShaker.

◆ Shake()

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

On shake we apply rotation on our target transform

Reimplemented from MoreMountains.Feedbacks.MMShaker.

◆ ShakeComplete()

override void MoreMountains.Feedbacks.MMLookAtShaker.ShakeComplete ( )
protectedvirtual

On shake complete, we apply our final rotation

Reimplemented from MoreMountains.Feedbacks.MMShaker.

◆ StartListening()

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

Starts listening for events

Reimplemented from MoreMountains.Feedbacks.MMShaker.

◆ StopListening()

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

Stops listening for events

Reimplemented from MoreMountains.Feedbacks.MMShaker.

Member Data Documentation

◆ _direction

Vector3 MoreMountains.Feedbacks.MMLookAtShaker._direction
protected

◆ _initialRotation

Quaternion MoreMountains.Feedbacks.MMLookAtShaker._initialRotation
protected

◆ _lookAtPosition

Vector3 MoreMountains.Feedbacks.MMLookAtShaker._lookAtPosition
protected

◆ _newRotation

Quaternion MoreMountains.Feedbacks.MMLookAtShaker._newRotation
protected

◆ _originalDuration

float MoreMountains.Feedbacks.MMLookAtShaker._originalDuration = 1f
protected

◆ _originalLockXAxis

bool MoreMountains.Feedbacks.MMLookAtShaker._originalLockXAxis
protected

◆ _originalLockYAxis

bool MoreMountains.Feedbacks.MMLookAtShaker._originalLockYAxis
protected

◆ _originalLockZAxis

bool MoreMountains.Feedbacks.MMLookAtShaker._originalLockZAxis
protected

◆ _originalLookAtDirection

Vector3 MoreMountains.Feedbacks.MMLookAtShaker._originalLookAtDirection
protected

◆ _originalLookAtTarget

Transform MoreMountains.Feedbacks.MMLookAtShaker._originalLookAtTarget
protected

◆ _originalLookAtTargetMode

MMF_LookAt.LookAtTargetModes MoreMountains.Feedbacks.MMLookAtShaker._originalLookAtTargetMode
protected

◆ _originalLookAtTargetWorldPosition

Vector3 MoreMountains.Feedbacks.MMLookAtShaker._originalLookAtTargetWorldPosition
protected

◆ _originalLookAtTween

MMTweenType MoreMountains.Feedbacks.MMLookAtShaker._originalLookAtTween
protected

◆ _originalUpwardVector

MMF_LookAt.UpwardVectors MoreMountains.Feedbacks.MMLookAtShaker._originalUpwardVector
protected

◆ _upwards

Vector3 MoreMountains.Feedbacks.MMLookAtShaker._upwards
protected

◆ Duration

float MoreMountains.Feedbacks.MMLookAtShaker.Duration = 1f

the duration of this shake, in seconds

◆ LockXAxis

bool MoreMountains.Feedbacks.MMLookAtShaker.LockXAxis = false

whether or not to lock rotation on the x axis

◆ LockYAxis

bool MoreMountains.Feedbacks.MMLookAtShaker.LockYAxis = false

whether or not to lock rotation on the y axis

◆ LockZAxis

bool MoreMountains.Feedbacks.MMLookAtShaker.LockZAxis = false

whether or not to lock rotation on the z axis

◆ LookAtDirection

Vector3 MoreMountains.Feedbacks.MMLookAtShaker.LookAtDirection = Vector3.forward

a direction (from our rotating object) that we want to look at

◆ LookAtTarget

Transform MoreMountains.Feedbacks.MMLookAtShaker.LookAtTarget

the transform we want to look at

◆ LookAtTargetMode

MMF_LookAt.LookAtTargetModes MoreMountains.Feedbacks.MMLookAtShaker.LookAtTargetMode = MMF_LookAt.LookAtTargetModes.Transform

the different target modes : either a specific transform to look at, the coordinates of a world position, or a direction vector

◆ LookAtTargetWorldPosition

Vector3 MoreMountains.Feedbacks.MMLookAtShaker.LookAtTargetWorldPosition = Vector3.forward

the coordinates of a point the world that we want to look at

◆ LookAtTween

MMTweenType MoreMountains.Feedbacks.MMLookAtShaker.LookAtTween = new MMTweenType( new AnimationCurve(new Keyframe(0, 0), new Keyframe(1, 1)))

the curve over which to animate the look at transition

◆ StartShakingButton

bool MoreMountains.Feedbacks.MMLookAtShaker.StartShakingButton

◆ TransformToRotate

Transform MoreMountains.Feedbacks.MMLookAtShaker.TransformToRotate

in Direct mode, the transform to rotate to have it look at our target - if left empty, will be the transform this shaker is on

◆ UpwardVector

MMF_LookAt.UpwardVectors MoreMountains.Feedbacks.MMLookAtShaker.UpwardVector = MMF_LookAt.UpwardVectors.Up

the vector representing the up direction on the object we want to rotate and look at our target


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