MMFeedbacks  v1.6
Public Types | Public Attributes | Protected Member Functions | Protected Attributes | Properties | List of all members
MoreMountains.Feedbacks.MMFeedbackRotation Class Reference

This feedback animates the rotation of the specified object when played More...

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

Public Types

enum  Modes { Modes.Absolute, Modes.Additive, Modes.ToDestination }
 the possible modes for this feedback (Absolute : always follow the curve from start to finish, Additive : add to the values found when this feedback gets played) More...
 
enum  TimeScales { TimeScales.Scaled, TimeScales.Unscaled }
 the timescale modes this feedback can operate on More...
 

Public Attributes

Transform AnimateRotationTarget
 sets the inspector color for this feedback More...
 
Modes Mode = Modes.Absolute
 whether this feedback should animate in absolute values or additive More...
 
TimeScales TimeScale = TimeScales.Scaled
 whether this feedback should play in scaled or unscaled time More...
 
float AnimateRotationDuration = 0.2f
 the duration of the transition More...
 
float RemapCurveZero = 0f
 the value to remap the curve's 0 value to More...
 
float RemapCurveOne = 360f
 the value to remap the curve's 1 value to More...
 
bool AnimateX = true
 if this is true, should animate the X rotation More...
 
AnimationCurve AnimateRotationX = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))
 how the x part of the rotation should animate over time, in degrees More...
 
bool AnimateY = true
 if this is true, should animate the X rotation More...
 
AnimationCurve AnimateRotationY = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))
 how the y part of the rotation should animate over time, in degrees More...
 
bool AnimateZ = true
 if this is true, should animate the X rotation More...
 
AnimationCurve AnimateRotationZ = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))
 how the z part of the rotation should animate over time, in degrees More...
 
Space ToDestinationSpace = Space.World
 
Vector3 DestinationAngles = new Vector3(0f, 180f, 0f)
 
- 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...
 

Protected Member Functions

override void CustomInitialization (GameObject owner)
 On init we store our initial rotation More...
 
override void CustomPlayFeedback (Vector3 position, float attenuation=1.0f)
 On play, we trigger our rotation animation More...
 
virtual IEnumerator RotateToDestination ()
 A coroutine used to rotate the target to its destination rotation More...
 
virtual IEnumerator AnimateRotation (Transform targetTransform, Vector3 vector, float duration, AnimationCurve curveX, AnimationCurve curveY, AnimationCurve curveZ, float remapZero, float remapOne)
 A coroutine used to compute the rotation over time More...
 
virtual void ApplyRotation (Transform targetTransform, float remapZero, float remapOne, AnimationCurve curveX, AnimationCurve curveY, AnimationCurve curveZ, float percent)
 Computes and applies the rotation to the object More...
 
- Protected Member Functions inherited from MoreMountains.Feedbacks.MMFeedback
virtual IEnumerator PlayCoroutine (Vector3 position, float attenuation=1.0f)
 An internal coroutine delaying the initial play of the feedback More...
 
virtual void RegularPlay (Vector3 position, float attenuation=1.0f)
 Triggers delaying coroutines if needed More...
 
virtual IEnumerator InfinitePlay (Vector3 position, float attenuation=1.0f)
 Internal coroutine used for repeated play without end More...
 
virtual IEnumerator RepeatedPlay (Vector3 position, float attenuation=1.0f)
 Internal coroutine used for repeated play More...
 
virtual IEnumerator SequenceCoroutine (Vector3 position, float attenuation=1.0f)
 A coroutine used to play this feedback on a sequence More...
 
virtual void CustomStopFeedback (Vector3 position, float attenuation=1.0f)
 This method describes what happens when the feedback gets stopped More...
 
virtual void CustomReset ()
 This method describes what happens when the feedback gets reset More...
 

Protected Attributes

Quaternion _initialRotation
 
Vector3 _up
 
Vector3 _right
 
Vector3 _forward
 
Quaternion _destinationRotation
 
- Protected Attributes inherited from MoreMountains.Feedbacks.MMFeedback
WaitForSeconds _initialDelayWaitForSeconds
 
WaitForSeconds _betweenDelayWaitForSeconds
 
WaitForSeconds _sequenceDelayWaitForSeconds
 
float _lastPlayTimestamp = -1f
 
int _playsLeft
 
bool _initialized = false
 
Coroutine _playCoroutine
 
Coroutine _infinitePlayCoroutine
 
Coroutine _sequenceCoroutine
 
Coroutine _repeatedPlayCoroutine
 
int _sequenceTrackID = 0
 
float _beatInterval
 
bool BeatThisFrame = false
 
int LastBeatIndex = 0
 
int CurrentSequenceIndex = 0
 
float LastBeatTimestamp = 0f
 

Properties

override float FeedbackDuration [get]
 the duration of this feedback is the duration of the rotation 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 YieldInstruction 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 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...
 
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...
 
virtual float FeedbackStartedAt [get]
 
virtual float FeedbackDuration [get]
 
virtual bool FeedbackPlaying [get]
 whether or not this feedback is playing right now More...
 

Additional Inherited Members

- Public Member Functions inherited from MoreMountains.Feedbacks.MMFeedback
virtual void Initialization (GameObject owner)
 Initializes the feedback and its timing related variables More...
 
virtual void Play (Vector3 position, float attenuation=1.0f)
 Plays the feedback More...
 
virtual void Stop (Vector3 position, float attenuation=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 animates the rotation of the specified object when played

Member Enumeration Documentation

◆ Modes

the possible modes for this feedback (Absolute : always follow the curve from start to finish, Additive : add to the values found when this feedback gets played)

Enumerator
Absolute 
Additive 
ToDestination 

◆ TimeScales

the timescale modes this feedback can operate on

Enumerator
Scaled 
Unscaled 

Member Function Documentation

◆ AnimateRotation()

virtual IEnumerator MoreMountains.Feedbacks.MMFeedbackRotation.AnimateRotation ( Transform  targetTransform,
Vector3  vector,
float  duration,
AnimationCurve  curveX,
AnimationCurve  curveY,
AnimationCurve  curveZ,
float  remapZero,
float  remapOne 
)
protectedvirtual

A coroutine used to compute the rotation over time

Parameters
targetTransform
vector
duration
curveX
curveY
curveZ
multiplier
Returns

◆ ApplyRotation()

virtual void MoreMountains.Feedbacks.MMFeedbackRotation.ApplyRotation ( Transform  targetTransform,
float  remapZero,
float  remapOne,
AnimationCurve  curveX,
AnimationCurve  curveY,
AnimationCurve  curveZ,
float  percent 
)
protectedvirtual

Computes and applies the rotation to the object

Parameters
targetTransform
multiplier
curveX
curveY
curveZ
percent


◆ CustomInitialization()

override void MoreMountains.Feedbacks.MMFeedbackRotation.CustomInitialization ( GameObject  owner)
protectedvirtual

On init we store our initial rotation

Parameters
owner

Reimplemented from MoreMountains.Feedbacks.MMFeedback.

◆ CustomPlayFeedback()

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

On play, we trigger our rotation animation

Parameters
position
attenuation

Implements MoreMountains.Feedbacks.MMFeedback.

◆ RotateToDestination()

virtual IEnumerator MoreMountains.Feedbacks.MMFeedbackRotation.RotateToDestination ( )
protectedvirtual

A coroutine used to rotate the target to its destination rotation

Returns

Member Data Documentation

◆ _destinationRotation

Quaternion MoreMountains.Feedbacks.MMFeedbackRotation._destinationRotation
protected

◆ _forward

Vector3 MoreMountains.Feedbacks.MMFeedbackRotation._forward
protected

◆ _initialRotation

Quaternion MoreMountains.Feedbacks.MMFeedbackRotation._initialRotation
protected

◆ _right

Vector3 MoreMountains.Feedbacks.MMFeedbackRotation._right
protected

◆ _up

Vector3 MoreMountains.Feedbacks.MMFeedbackRotation._up
protected

◆ AnimateRotationDuration

float MoreMountains.Feedbacks.MMFeedbackRotation.AnimateRotationDuration = 0.2f

the duration of the transition

◆ AnimateRotationTarget

Transform MoreMountains.Feedbacks.MMFeedbackRotation.AnimateRotationTarget

sets the inspector color for this feedback

the object whose rotation you want to animate

◆ AnimateRotationX

AnimationCurve MoreMountains.Feedbacks.MMFeedbackRotation.AnimateRotationX = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))

how the x part of the rotation should animate over time, in degrees

◆ AnimateRotationY

AnimationCurve MoreMountains.Feedbacks.MMFeedbackRotation.AnimateRotationY = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))

how the y part of the rotation should animate over time, in degrees

◆ AnimateRotationZ

AnimationCurve MoreMountains.Feedbacks.MMFeedbackRotation.AnimateRotationZ = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(1, 0))

how the z part of the rotation should animate over time, in degrees

◆ AnimateX

bool MoreMountains.Feedbacks.MMFeedbackRotation.AnimateX = true

if this is true, should animate the X rotation

◆ AnimateY

bool MoreMountains.Feedbacks.MMFeedbackRotation.AnimateY = true

if this is true, should animate the X rotation

◆ AnimateZ

bool MoreMountains.Feedbacks.MMFeedbackRotation.AnimateZ = true

if this is true, should animate the X rotation

◆ DestinationAngles

Vector3 MoreMountains.Feedbacks.MMFeedbackRotation.DestinationAngles = new Vector3(0f, 180f, 0f)

◆ Mode

Modes MoreMountains.Feedbacks.MMFeedbackRotation.Mode = Modes.Absolute

whether this feedback should animate in absolute values or additive

◆ RemapCurveOne

float MoreMountains.Feedbacks.MMFeedbackRotation.RemapCurveOne = 360f

the value to remap the curve's 1 value to

◆ RemapCurveZero

float MoreMountains.Feedbacks.MMFeedbackRotation.RemapCurveZero = 0f

the value to remap the curve's 0 value to

◆ TimeScale

TimeScales MoreMountains.Feedbacks.MMFeedbackRotation.TimeScale = TimeScales.Scaled

whether this feedback should play in scaled or unscaled time

◆ ToDestinationSpace

Space MoreMountains.Feedbacks.MMFeedbackRotation.ToDestinationSpace = Space.World

Property Documentation

◆ FeedbackDuration

override float MoreMountains.Feedbacks.MMFeedbackRotation.FeedbackDuration
get

the duration of this feedback is the duration of the rotation


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