TopDown Engine v4.5
Loading...
Searching...
No Matches
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.
override void StartListening ()
 Starts listening for events.
override void StopListening ()
 Stops listening for events.
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.
virtual void StartShaking ()
 Starts shaking the values.
virtual void Play ()
 Starts this shaker.
virtual void Stop ()
 Stops this shaker.
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
MMTweenType LookAtTween = new MMTweenType( new AnimationCurve(new Keyframe(0, 0), new Keyframe(1, 1)))
 the curve over which to animate the look at transition
bool LockXAxis = false
 whether or not to lock rotation on the x axis
bool LockYAxis = false
 whether or not to lock rotation on the y axis
bool LockZAxis = false
 whether or not to lock rotation on the z axis
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
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
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
Transform LookAtTarget
 the transform we want to look at
Vector3 LookAtTargetWorldPosition = Vector3.forward
 the coordinates of a point the world that we want to look at
Vector3 LookAtDirection = Vector3.forward
 a direction (from our rotating object) that we want to look at
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
MMChannel MMChannelDefinition = null
float ShakeDuration = 0.2f
 the duration of the shake, in seconds
bool PlayOnAwake = false
 if this is true this shaker will play on awake
bool PermanentShake = false
 if this is true, the shaker will shake permanently as long as its game object is active
bool Interruptible = true
 if this is true, a new shake can happen while shaking
bool AlwaysResetTargetValuesAfterShake = false
 if this is true, this shaker will always reset target values, regardless of how it was called
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
float CooldownBetweenShakes = 0f
 a cooldown, in seconds, after a shake, during which no other shake can start
bool Shaking = false
 whether or not this shaker is shaking right now
bool ForwardDirection = true
TimescaleModes TimescaleMode = TimescaleModes.Scaled

Protected Member Functions

override void Initialization ()
 On init we store our initial rotation.
virtual void Reset ()
 When that shaker gets added, we initialize its shake duration.
override void Shake ()
 On shake we apply rotation on our target transform.
override void ShakeComplete ()
 On shake complete, we apply our final rotation.
virtual void ApplyRotation (float journey)
 Rotates the associated transform to look at our target.
override void ResetTargetValues ()
 On ResetTargetValue, we reset our target transform's rotation.
override void ResetShakerValues ()
 Resets the shaker's values.
Protected Member Functions inherited from MoreMountains.Feedbacks.MMShaker
virtual void Awake ()
 On Awake we grab our volume and profile.
virtual void SetShakeStartedTimestamp ()
 Logs the start timestamp for this shaker.
virtual void ShakeStarts ()
 Describes what happens when a shake starts.
virtual void GrabInitialValues ()
 A method designed to collect initial values.
virtual void Update ()
 On Update, we shake our values if needed, or reset if our shake has ended.
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.
virtual Color ShakeGradient (Gradient gradient)
virtual void OnEnable ()
 On enable we start shaking if needed.
virtual void OnDestroy ()
 On destroy we stop listening for events.
virtual void OnDisable ()
 On disable we complete our shake if it was in progress.
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.

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 _shakeStartedTimestampUnscaled = -Single.MaxValue
float _remappedTimeSinceStart
bool _resetShakerValuesAfterShake
bool _resetTargetValuesAfterShake
float _journey

Additional Inherited Members

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

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:
  • H:/Code/MoreMountains/topdownengine/Assets/TopDownEngine/ThirdParty/MoreMountains/MMFeedbacks/MMFeedbacks/Shakers/MMLookAtShaker.cs