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

This feedback will let you animate the position/rotation/scale of a target transform to match the one of a destination transform. More...

Inheritance diagram for MoreMountains.Feedbacks.MMFeedbackDestinationTransform:
MoreMountains.Feedbacks.MMFeedback

Public Types

enum  TimeScales { TimeScales.Scaled, TimeScales.Unscaled }
 the possible timescales this feedback can animate on More...
 

Public Attributes

Transform TargetTransform
 sets the inspector color for this feedback More...
 
bool ForceOrigin = false
 whether or not we want to force an origin transform. If not, the current position of the target transform will be used as origin instead More...
 
Transform Origin
 the transform to use as origin in ForceOrigin mode More...
 
Transform Destination
 the destination transform whose properties we want to match More...
 
TimeScales TimeScale = TimeScales.Scaled
 the timescale to animate on More...
 
bool ForceDestinationOnEnd = false
 whether or not we want to force transform properties at the end of the transition More...
 
AnimationCurve GlobalAnimationCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))
 a global curve to animate all properties on, unless dedicated ones are specified More...
 
float Duration = 0.2f
 the duration of the transition, in seconds More...
 
bool AnimatePositionX = true
 whether or not to animate the X position More...
 
bool AnimatePositionY = true
 whether or not to animate the Y position More...
 
bool AnimatePositionZ = true
 whether or not to animate the Z position More...
 
bool AnimateRotationX = true
 whether or not to animate the X rotation More...
 
bool AnimateRotationY = true
 whether or not to animate the Y rotation More...
 
bool AnimateRotationZ = true
 whether or not to animate the Z rotation More...
 
bool AnimateRotationW = true
 whether or not to animate the W rotation More...
 
bool AnimateScaleX = true
 whether or not to animate the X scale More...
 
bool AnimateScaleY = true
 whether or not to animate the Y scale More...
 
bool AnimateScaleZ = true
 whether or not to animate the Z scale More...
 
bool SeparatePositionCurve = false
 whether or not to use a separate animation curve to animate the position More...
 
AnimationCurve AnimatePositionCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))
 the curve to use to animate the position on More...
 
bool SeparateRotationCurve = false
 whether or not to use a separate animation curve to animate the rotation More...
 
AnimationCurve AnimateRotationCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))
 the curve to use to animate the rotation on More...
 
bool SeparateScaleCurve = false
 whether or not to use a separate animation curve to animate the scale More...
 
AnimationCurve AnimateScaleCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))
 the curve to use to animate the scale on More...
 
- Public Attributes inherited from MoreMountains.Feedbacks.MMFeedback
bool Active = true
 whether or not this feedback is active More...
 
string Label = "MMFeedback"
 the name of this feedback to display in the inspector More...
 
float Chance = 100f
 the chance of this feedback happening (in percent : 100 : happens all the time, 0 : never happens, 50 : happens once every two calls, etc) More...
 
MMFeedbackTiming Timing
 a number of timing-related values (delay, repeat, etc) More...
 
bool DebugActive = false
 whether or not this feedback is in debug mode More...
 

Static Public Attributes

static bool FeedbackTypeAuthorized = true
 a static bool used to disable all feedbacks of this type at once More...
 

Protected Member Functions

override void CustomPlayFeedback (Vector3 position, float feedbacksIntensity=1.0f)
 On Play we animate the pos/rotation/scale of the target transform towards its destination More...
 
virtual IEnumerator AnimateToDestination ()
 A coroutine used to animate the pos/rotation/scale of the target transform towards its destination More...
 
override void CustomStopFeedback (Vector3 position, float feedbacksIntensity=1)
 On Stop we stop our coroutine if needed More...
 
- Protected Member Functions inherited from MoreMountains.Feedbacks.MMFeedback
virtual void OnEnable ()
 
virtual IEnumerator PlayCoroutine (Vector3 position, float feedbacksIntensity=1.0f)
 An internal coroutine delaying the initial play of the feedback More...
 
virtual void RegularPlay (Vector3 position, float feedbacksIntensity=1.0f)
 Triggers delaying coroutines if needed More...
 
virtual IEnumerator InfinitePlay (Vector3 position, float feedbacksIntensity=1.0f)
 Internal coroutine used for repeated play without end More...
 
virtual IEnumerator RepeatedPlay (Vector3 position, float feedbacksIntensity=1.0f)
 Internal coroutine used for repeated play More...
 
virtual IEnumerator SequenceCoroutine (Vector3 position, float feedbacksIntensity=1.0f)
 A coroutine used to play this feedback on a sequence More...
 
virtual float ApplyDirection (float normalizedTime)
 Returns a new value of the normalized time based on the current play direction of this feedback More...
 
virtual float ApplyTimeMultiplier (float duration)
 Applies the host MMFeedbacks' time multiplier to this feedback More...
 
virtual void CustomInitialization (GameObject owner)
 This method describes all custom initialization processes the feedback requires, in addition to the main Initialization method More...
 
virtual void CustomReset ()
 This method describes what happens when the feedback gets reset More...
 

Protected Attributes

Coroutine _coroutine
 
Vector3 _newPosition
 
Quaternion _newRotation
 
Vector3 _newScale
 
Vector3 _pointAPosition
 
Vector3 _pointBPosition
 
Quaternion _pointARotation
 
Quaternion _pointBRotation
 
Vector3 _pointAScale
 
Vector3 _pointBScale
 
AnimationCurve _animationCurve
 
- Protected Attributes inherited from MoreMountains.Feedbacks.MMFeedback
float _lastPlayTimestamp = -1f
 
int _playsLeft
 
bool _initialized = false
 
Coroutine _playCoroutine
 
Coroutine _infinitePlayCoroutine
 
Coroutine _sequenceCoroutine
 
Coroutine _repeatedPlayCoroutine
 
int _sequenceTrackID = 0
 
MMFeedbacks _hostMMFeedbacks
 
float _beatInterval
 
bool BeatThisFrame = false
 
int LastBeatIndex = 0
 
int CurrentSequenceIndex = 0
 
float LastBeatTimestamp = 0f
 
bool _isHostMMFeedbacksNotNull
 
MMChannelData _channelData
 

Properties

override float FeedbackDuration [get, set]
 the duration of this feedback is the duration of the movement More...
 
- Properties inherited from MoreMountains.Feedbacks.MMFeedback
GameObject Owner [get, set]
 the Owner of the feedback, as defined when calling the Initialization method More...
 
virtual IEnumerator Pause [get]
 set this to true if your feedback should pause the execution of the feedback sequence More...
 
virtual bool HoldingPause [get]
 if this is true, this feedback will wait until all previous feedbacks have run More...
 
virtual bool LooperPause [get]
 if this is true, this feedback will wait until all previous feedbacks have run, then run all previous feedbacks again More...
 
virtual bool ScriptDrivenPause [get, set]
 if this is true, this feedback will pause and wait until Resume() is called on its parent MMFeedbacks to resume execution More...
 
virtual float ScriptDrivenPauseAutoResume [get, set]
 if this is a positive value, the feedback will auto resume after that duration if it hasn't been resumed via script already More...
 
virtual bool LooperStart [get]
 if this is true, this feedback will wait until all previous feedbacks have run, then run all previous feedbacks again More...
 
virtual bool InCooldown [get]
 returns true if this feedback is in cooldown at this time (and thus can't play), false otherwise More...
 
virtual bool IsPlaying [get, set]
 if this is true, this feedback is currently playing More...
 
float FeedbackTime [get]
 the time (or unscaled time) based on the selected Timing settings More...
 
float FeedbackDeltaTime [get]
 the delta time (or unscaled delta time) based on the selected Timing settings More...
 
float TotalDuration [get]
 The total duration of this feedback : total = initial delay + duration * (number of repeats + delay between repeats)
More...
 
virtual float FeedbackStartedAt [get]
 
virtual float FeedbackDuration [get, set]
 
virtual bool FeedbackPlaying [get]
 whether or not this feedback is playing right now More...
 
virtual bool NormalPlayDirection [get]
 Returns true if this feedback should play normally, or false if it should play in rewind More...
 
virtual bool ShouldPlayInThisSequenceDirection [get]
 Returns true if this feedback should play in the current parent MMFeedbacks direction, according to its MMFeedbacksDirectionCondition setting More...
 
virtual float? FinalNormalizedTime [get]
 Returns the t value at which to evaluate a curve at the end of this feedback's play time More...
 

Additional Inherited Members

- Public Member Functions inherited from MoreMountains.Feedbacks.MMFeedback
virtual MMChannelData ChannelData (int channel)
 
virtual void Initialization (GameObject owner)
 Initializes the feedback and its timing related variables More...
 
virtual void Play (Vector3 position, float feedbacksIntensity=1.0f)
 Plays the feedback More...
 
virtual void Stop (Vector3 position, float feedbacksIntensity=1.0f)
 Stops all feedbacks from playing. Will stop repeating feedbacks, and call custom stop implementations More...
 
virtual void ResetFeedback ()
 Calls this feedback's custom reset More...
 
virtual void SetSequence (MMSequence newSequence)
 Use this method to change this feedback's sequence at runtime More...
 
virtual void SetDelayBetweenRepeats (float delay)
 Use this method to specify a new delay between repeats at runtime More...
 
virtual void SetInitialDelay (float delay)
 Use this method to specify a new initial delay at runtime More...
 

Detailed Description

This feedback will let you animate the position/rotation/scale of a target transform to match the one of a destination transform.

Member Enumeration Documentation

◆ TimeScales

the possible timescales this feedback can animate on

Enumerator
Scaled 
Unscaled 

Member Function Documentation

◆ AnimateToDestination()

virtual IEnumerator MoreMountains.Feedbacks.MMFeedbackDestinationTransform.AnimateToDestination ( )
protectedvirtual

A coroutine used to animate the pos/rotation/scale of the target transform towards its destination

Returns

◆ CustomPlayFeedback()

override void MoreMountains.Feedbacks.MMFeedbackDestinationTransform.CustomPlayFeedback ( Vector3  position,
float  feedbacksIntensity = 1.0f 
)
protectedvirtual

On Play we animate the pos/rotation/scale of the target transform towards its destination

Parameters
position
feedbacksIntensity

Implements MoreMountains.Feedbacks.MMFeedback.

◆ CustomStopFeedback()

override void MoreMountains.Feedbacks.MMFeedbackDestinationTransform.CustomStopFeedback ( Vector3  position,
float  feedbacksIntensity = 1 
)
protectedvirtual

On Stop we stop our coroutine if needed

Parameters
position
feedbacksIntensity

Reimplemented from MoreMountains.Feedbacks.MMFeedback.

Member Data Documentation

◆ _animationCurve

AnimationCurve MoreMountains.Feedbacks.MMFeedbackDestinationTransform._animationCurve
protected

◆ _coroutine

Coroutine MoreMountains.Feedbacks.MMFeedbackDestinationTransform._coroutine
protected

◆ _newPosition

Vector3 MoreMountains.Feedbacks.MMFeedbackDestinationTransform._newPosition
protected

◆ _newRotation

Quaternion MoreMountains.Feedbacks.MMFeedbackDestinationTransform._newRotation
protected

◆ _newScale

Vector3 MoreMountains.Feedbacks.MMFeedbackDestinationTransform._newScale
protected

◆ _pointAPosition

Vector3 MoreMountains.Feedbacks.MMFeedbackDestinationTransform._pointAPosition
protected

◆ _pointARotation

Quaternion MoreMountains.Feedbacks.MMFeedbackDestinationTransform._pointARotation
protected

◆ _pointAScale

Vector3 MoreMountains.Feedbacks.MMFeedbackDestinationTransform._pointAScale
protected

◆ _pointBPosition

Vector3 MoreMountains.Feedbacks.MMFeedbackDestinationTransform._pointBPosition
protected

◆ _pointBRotation

Quaternion MoreMountains.Feedbacks.MMFeedbackDestinationTransform._pointBRotation
protected

◆ _pointBScale

Vector3 MoreMountains.Feedbacks.MMFeedbackDestinationTransform._pointBScale
protected

◆ AnimatePositionCurve

AnimationCurve MoreMountains.Feedbacks.MMFeedbackDestinationTransform.AnimatePositionCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))

the curve to use to animate the position on

◆ AnimatePositionX

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.AnimatePositionX = true

whether or not to animate the X position

◆ AnimatePositionY

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.AnimatePositionY = true

whether or not to animate the Y position

◆ AnimatePositionZ

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.AnimatePositionZ = true

whether or not to animate the Z position

◆ AnimateRotationCurve

AnimationCurve MoreMountains.Feedbacks.MMFeedbackDestinationTransform.AnimateRotationCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))

the curve to use to animate the rotation on

◆ AnimateRotationW

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.AnimateRotationW = true

whether or not to animate the W rotation

◆ AnimateRotationX

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.AnimateRotationX = true

whether or not to animate the X rotation

◆ AnimateRotationY

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.AnimateRotationY = true

whether or not to animate the Y rotation

◆ AnimateRotationZ

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.AnimateRotationZ = true

whether or not to animate the Z rotation

◆ AnimateScaleCurve

AnimationCurve MoreMountains.Feedbacks.MMFeedbackDestinationTransform.AnimateScaleCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))

the curve to use to animate the scale on

◆ AnimateScaleX

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.AnimateScaleX = true

whether or not to animate the X scale

◆ AnimateScaleY

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.AnimateScaleY = true

whether or not to animate the Y scale

◆ AnimateScaleZ

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.AnimateScaleZ = true

whether or not to animate the Z scale

◆ Destination

Transform MoreMountains.Feedbacks.MMFeedbackDestinationTransform.Destination

the destination transform whose properties we want to match

◆ Duration

float MoreMountains.Feedbacks.MMFeedbackDestinationTransform.Duration = 0.2f

the duration of the transition, in seconds

◆ FeedbackTypeAuthorized

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.FeedbackTypeAuthorized = true
static

a static bool used to disable all feedbacks of this type at once

◆ ForceDestinationOnEnd

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.ForceDestinationOnEnd = false

whether or not we want to force transform properties at the end of the transition

◆ ForceOrigin

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.ForceOrigin = false

whether or not we want to force an origin transform. If not, the current position of the target transform will be used as origin instead

◆ GlobalAnimationCurve

AnimationCurve MoreMountains.Feedbacks.MMFeedbackDestinationTransform.GlobalAnimationCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))

a global curve to animate all properties on, unless dedicated ones are specified

◆ Origin

Transform MoreMountains.Feedbacks.MMFeedbackDestinationTransform.Origin

the transform to use as origin in ForceOrigin mode

◆ SeparatePositionCurve

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.SeparatePositionCurve = false

whether or not to use a separate animation curve to animate the position

◆ SeparateRotationCurve

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.SeparateRotationCurve = false

whether or not to use a separate animation curve to animate the rotation

◆ SeparateScaleCurve

bool MoreMountains.Feedbacks.MMFeedbackDestinationTransform.SeparateScaleCurve = false

whether or not to use a separate animation curve to animate the scale

◆ TargetTransform

Transform MoreMountains.Feedbacks.MMFeedbackDestinationTransform.TargetTransform

sets the inspector color for this feedback

the target transform we want to animate properties on

◆ TimeScale

TimeScales MoreMountains.Feedbacks.MMFeedbackDestinationTransform.TimeScale = TimeScales.Scaled

the timescale to animate on

Property Documentation

◆ FeedbackDuration

override float MoreMountains.Feedbacks.MMFeedbackDestinationTransform.FeedbackDuration
getset

the duration of this feedback is the duration of the movement


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