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

this feedback will let you animate the position of More...

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

Public Types

enum  Spaces { Spaces.World, Spaces.Local, Spaces.RectTransform }
 sets the inspector color for this feedback More...
 
enum  Modes { Modes.AtoB, Modes.AlongCurve, Modes.ToDestination }
 
enum  TimeScales { TimeScales.Scaled, TimeScales.Unscaled }
 

Public Attributes

GameObject AnimatePositionTarget
 the object this feedback will animate the position for More...
 
Modes Mode = Modes.AtoB
 the mode this animation should follow (either going from A to B, or moving along a curve) More...
 
TimeScales TimeScale = TimeScales.Scaled
 whether this feedback should play in scaled or unscaled time More...
 
Spaces Space = Spaces.World
 the space in which to move the position in More...
 
float AnimatePositionDuration = 0.2f
 the duration of the animation on play More...
 
AnimationCurve AnimatePositionCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.1f, 0.05f), new Keyframe(0.9f, 0.95f), new Keyframe(1, 1))
 the acceleration of the movement More...
 
float RemapCurveZero = 0f
 the value to remap the curve's 0 value to More...
 
float RemapCurveOne = 1f
 the value to remap the curve's 1 value to More...
 
bool AnimateX
 if this is true, the x position will be animated More...
 
AnimationCurve AnimatePositionCurveX = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(0.6f, -1f), new Keyframe(1, 0f))
 the acceleration of the movement More...
 
bool AnimateY
 if this is true, the y position will be animated More...
 
AnimationCurve AnimatePositionCurveY = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(0.6f, -1f), new Keyframe(1, 0f))
 the acceleration of the movement More...
 
bool AnimateZ
 if this is true, the z position will be animated More...
 
AnimationCurve AnimatePositionCurveZ = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(0.6f, -1f), new Keyframe(1, 0f))
 the acceleration of the movement More...
 
bool RelativePosition = true
 if this is true, the initial position won't be added to init and destination More...
 
Vector3 InitialPosition = Vector3.zero
 the initial position More...
 
Vector3 DestinationPosition = Vector3.one
 the destination position More...
 
Transform InitialPositionTransform
 the initial transform - if set, takes precedence over the Vector3 above More...
 
Transform DestinationPositionTransform
 the destination transform - if set, takes precedence over the Vector3 above 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...
 

Protected Member Functions

override void CustomInitialization (GameObject owner)
 On init, we set our initial and destination positions (transform will take precedence over vector3s) More...
 
virtual void DeterminePositions ()
 
override void CustomPlayFeedback (Vector3 position, float attenuation=1.0f)
 On Play, we move our object from A to B More...
 
virtual IEnumerator MoveAlongCurve (GameObject movingObject, Vector3 initialPosition, float duration)
 Moves the object along a curve More...
 
virtual void ComputeNewCurvePosition (GameObject movingObject, Vector3 initialPosition, float percent)
 
virtual IEnumerator MoveFromTo (GameObject movingObject, Vector3 pointA, Vector3 pointB, float duration, AnimationCurve curve=null)
 Moves an object from point A to point B in a given time More...
 
virtual Vector3 GetPosition (Transform target)
 
virtual void SetPosition (Transform target, Vector3 newPosition)
 
- 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

Vector3 _newPosition
 
RectTransform _rectTransform
 
Vector3 _initialPosition
 
Vector3 _destinationPosition
 
- 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 its animation 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 will let you animate the position of

Member Enumeration Documentation

◆ Modes

Enumerator
AtoB 
AlongCurve 
ToDestination 

◆ Spaces

sets the inspector color for this feedback

Enumerator
World 
Local 
RectTransform 

◆ TimeScales

Enumerator
Scaled 
Unscaled 

Member Function Documentation

◆ ComputeNewCurvePosition()

virtual void MoreMountains.Feedbacks.MMFeedbackPosition.ComputeNewCurvePosition ( GameObject  movingObject,
Vector3  initialPosition,
float  percent 
)
protectedvirtual

◆ CustomInitialization()

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

On init, we set our initial and destination positions (transform will take precedence over vector3s)

Parameters
owner

Reimplemented from MoreMountains.Feedbacks.MMFeedback.

◆ CustomPlayFeedback()

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

On Play, we move our object from A to B

Parameters
position
attenuation

Implements MoreMountains.Feedbacks.MMFeedback.

◆ DeterminePositions()

virtual void MoreMountains.Feedbacks.MMFeedbackPosition.DeterminePositions ( )
protectedvirtual

◆ GetPosition()

virtual Vector3 MoreMountains.Feedbacks.MMFeedbackPosition.GetPosition ( Transform  target)
protectedvirtual

◆ MoveAlongCurve()

virtual IEnumerator MoreMountains.Feedbacks.MMFeedbackPosition.MoveAlongCurve ( GameObject  movingObject,
Vector3  initialPosition,
float  duration 
)
protectedvirtual

Moves the object along a curve

Parameters
movingObject
pointA
pointB
duration
curve
Returns

◆ MoveFromTo()

virtual IEnumerator MoreMountains.Feedbacks.MMFeedbackPosition.MoveFromTo ( GameObject  movingObject,
Vector3  pointA,
Vector3  pointB,
float  duration,
AnimationCurve  curve = null 
)
protectedvirtual

Moves an object from point A to point B in a given time

Parameters
movingObjectMoving object.
pointAPoint a.
pointBPoint b.
durationTime.

◆ SetPosition()

virtual void MoreMountains.Feedbacks.MMFeedbackPosition.SetPosition ( Transform  target,
Vector3  newPosition 
)
protectedvirtual

Member Data Documentation

◆ _destinationPosition

Vector3 MoreMountains.Feedbacks.MMFeedbackPosition._destinationPosition
protected

◆ _initialPosition

Vector3 MoreMountains.Feedbacks.MMFeedbackPosition._initialPosition
protected

◆ _newPosition

Vector3 MoreMountains.Feedbacks.MMFeedbackPosition._newPosition
protected

◆ _rectTransform

RectTransform MoreMountains.Feedbacks.MMFeedbackPosition._rectTransform
protected

◆ AnimatePositionCurve

AnimationCurve MoreMountains.Feedbacks.MMFeedbackPosition.AnimatePositionCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.1f, 0.05f), new Keyframe(0.9f, 0.95f), new Keyframe(1, 1))

the acceleration of the movement

◆ AnimatePositionCurveX

AnimationCurve MoreMountains.Feedbacks.MMFeedbackPosition.AnimatePositionCurveX = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(0.6f, -1f), new Keyframe(1, 0f))

the acceleration of the movement

◆ AnimatePositionCurveY

AnimationCurve MoreMountains.Feedbacks.MMFeedbackPosition.AnimatePositionCurveY = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(0.6f, -1f), new Keyframe(1, 0f))

the acceleration of the movement

◆ AnimatePositionCurveZ

AnimationCurve MoreMountains.Feedbacks.MMFeedbackPosition.AnimatePositionCurveZ = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1f), new Keyframe(0.6f, -1f), new Keyframe(1, 0f))

the acceleration of the movement

◆ AnimatePositionDuration

float MoreMountains.Feedbacks.MMFeedbackPosition.AnimatePositionDuration = 0.2f

the duration of the animation on play

◆ AnimatePositionTarget

GameObject MoreMountains.Feedbacks.MMFeedbackPosition.AnimatePositionTarget

the object this feedback will animate the position for

◆ AnimateX

bool MoreMountains.Feedbacks.MMFeedbackPosition.AnimateX

if this is true, the x position will be animated

◆ AnimateY

bool MoreMountains.Feedbacks.MMFeedbackPosition.AnimateY

if this is true, the y position will be animated

◆ AnimateZ

bool MoreMountains.Feedbacks.MMFeedbackPosition.AnimateZ

if this is true, the z position will be animated

◆ DestinationPosition

Vector3 MoreMountains.Feedbacks.MMFeedbackPosition.DestinationPosition = Vector3.one

the destination position

◆ DestinationPositionTransform

Transform MoreMountains.Feedbacks.MMFeedbackPosition.DestinationPositionTransform

the destination transform - if set, takes precedence over the Vector3 above

◆ InitialPosition

Vector3 MoreMountains.Feedbacks.MMFeedbackPosition.InitialPosition = Vector3.zero

the initial position

◆ InitialPositionTransform

Transform MoreMountains.Feedbacks.MMFeedbackPosition.InitialPositionTransform

the initial transform - if set, takes precedence over the Vector3 above

◆ Mode

Modes MoreMountains.Feedbacks.MMFeedbackPosition.Mode = Modes.AtoB

the mode this animation should follow (either going from A to B, or moving along a curve)

◆ RelativePosition

bool MoreMountains.Feedbacks.MMFeedbackPosition.RelativePosition = true

if this is true, the initial position won't be added to init and destination

◆ RemapCurveOne

float MoreMountains.Feedbacks.MMFeedbackPosition.RemapCurveOne = 1f

the value to remap the curve's 1 value to

◆ RemapCurveZero

float MoreMountains.Feedbacks.MMFeedbackPosition.RemapCurveZero = 0f

the value to remap the curve's 0 value to

◆ Space

Spaces MoreMountains.Feedbacks.MMFeedbackPosition.Space = Spaces.World

the space in which to move the position in

◆ TimeScale

TimeScales MoreMountains.Feedbacks.MMFeedbackPosition.TimeScale = TimeScales.Scaled

whether this feedback should play in scaled or unscaled time

Property Documentation

◆ FeedbackDuration

override float MoreMountains.Feedbacks.MMFeedbackPosition.FeedbackDuration
get

the duration of this feedback is the duration of its animation


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