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

This feedback will animate the scale of the target object over time when played More...

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

Public Types

enum  Modes { Modes.Absolute, Modes.Additive, Modes.ToDestination }
 the possible modes this feedback can operate on More...
 
enum  TimeScales { TimeScales.Scaled, TimeScales.Unscaled }
 the possible timescales for the animation of the scale More...
 

Public Attributes

Modes Mode = Modes.Absolute
 sets the inspector color for this feedback More...
 
TimeScales TimeScale = TimeScales.Scaled
 whether this feedback should play in scaled or unscaled time More...
 
Transform AnimateScaleTarget
 the object to animate More...
 
float AnimateScaleDuration = 0.2f
 the duration of the animation More...
 
float RemapCurveZero = 1f
 the value to remap the curve's 0 value to More...
 
float RemapCurveOne = 2f
 the value to remap the curve's 1 value to More...
 
float Offset = 0f
 how much should be added to the curve More...
 
bool AnimateX = true
 if this is true, should animate the X scale value More...
 
AnimationCurve AnimateScaleX = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1.5f), new Keyframe(1, 0))
 the x scale animation definition More...
 
bool AnimateY = true
 if this is true, should animate the Y scale value More...
 
AnimationCurve AnimateScaleY = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1.5f), new Keyframe(1, 0))
 the y scale animation definition More...
 
bool AnimateZ = true
 if this is true, should animate the z scale value More...
 
AnimationCurve AnimateScaleZ = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1.5f), new Keyframe(1, 0))
 the z scale animation definition More...
 
bool AllowAdditivePlays = false
 if this is true, calling that feedback will trigger it, even if it's in progress. If it's false, it'll prevent any new Play until the current one is over More...
 
bool DetermineScaleOnPlay = false
 if this is true, initial and destination scales will be recomputed on every play More...
 
Vector3 DestinationScale = new Vector3(0.5f, 0.5f, 0.5f)
 the scale to reach when in ToDestination mode 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 CustomInitialization (GameObject owner)
 On init we store our initial scale More...
 
virtual void GetInitialScale ()
 Stores initial scale for future use More...
 
override void CustomPlayFeedback (Vector3 position, float feedbacksIntensity=1.0f)
 On Play, triggers the scale animation More...
 
virtual IEnumerator ScaleToDestination ()
 An internal coroutine used to scale the target to its destination scale More...
 
virtual IEnumerator AnimateScale (Transform targetTransform, Vector3 vector, float duration, AnimationCurve curveX, AnimationCurve curveY, AnimationCurve curveZ, float remapCurveZero=0f, float remapCurveOne=1f)
 An internal coroutine used to animate the scale over time More...
 
override void CustomStopFeedback (Vector3 position, float feedbacksIntensity=1.0f)
 On stop, we interrupt movement if it was active More...
 
virtual void OnDisable ()
 On disable we reset our coroutine 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 CustomReset ()
 This method describes what happens when the feedback gets reset More...
 

Protected Attributes

Vector3 _initialScale
 
Vector3 _newScale
 
Coroutine _coroutine
 
- 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 scale 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 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 animate the scale of the target object over time when played

Member Enumeration Documentation

◆ Modes

the possible modes this feedback can operate on

Enumerator
Absolute 
Additive 
ToDestination 

◆ TimeScales

the possible timescales for the animation of the scale

Enumerator
Scaled 
Unscaled 

Member Function Documentation

◆ AnimateScale()

virtual IEnumerator MoreMountains.Feedbacks.MMFeedbackScale.AnimateScale ( Transform  targetTransform,
Vector3  vector,
float  duration,
AnimationCurve  curveX,
AnimationCurve  curveY,
AnimationCurve  curveZ,
float  remapCurveZero = 0f,
float  remapCurveOne = 1f 
)
protectedvirtual

An internal coroutine used to animate the scale over time

Parameters
targetTransform
vector
duration
curveX
curveY
curveZ
multiplier
Returns

◆ CustomInitialization()

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

On init we store our initial scale

Parameters
owner

Reimplemented from MoreMountains.Feedbacks.MMFeedback.

◆ CustomPlayFeedback()

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

On Play, triggers the scale animation

Parameters
position
feedbacksIntensity

Implements MoreMountains.Feedbacks.MMFeedback.

◆ CustomStopFeedback()

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

On stop, we interrupt movement if it was active

Parameters
position
feedbacksIntensity

Reimplemented from MoreMountains.Feedbacks.MMFeedback.

◆ GetInitialScale()

virtual void MoreMountains.Feedbacks.MMFeedbackScale.GetInitialScale ( )
protectedvirtual

Stores initial scale for future use

◆ OnDisable()

virtual void MoreMountains.Feedbacks.MMFeedbackScale.OnDisable ( )
protectedvirtual

On disable we reset our coroutine

◆ ScaleToDestination()

virtual IEnumerator MoreMountains.Feedbacks.MMFeedbackScale.ScaleToDestination ( )
protectedvirtual

An internal coroutine used to scale the target to its destination scale

Returns

Member Data Documentation

◆ _coroutine

Coroutine MoreMountains.Feedbacks.MMFeedbackScale._coroutine
protected

◆ _initialScale

Vector3 MoreMountains.Feedbacks.MMFeedbackScale._initialScale
protected

◆ _newScale

Vector3 MoreMountains.Feedbacks.MMFeedbackScale._newScale
protected

◆ AllowAdditivePlays

bool MoreMountains.Feedbacks.MMFeedbackScale.AllowAdditivePlays = false

if this is true, calling that feedback will trigger it, even if it's in progress. If it's false, it'll prevent any new Play until the current one is over

◆ AnimateScaleDuration

float MoreMountains.Feedbacks.MMFeedbackScale.AnimateScaleDuration = 0.2f

the duration of the animation

◆ AnimateScaleTarget

Transform MoreMountains.Feedbacks.MMFeedbackScale.AnimateScaleTarget

the object to animate

◆ AnimateScaleX

AnimationCurve MoreMountains.Feedbacks.MMFeedbackScale.AnimateScaleX = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1.5f), new Keyframe(1, 0))

the x scale animation definition

◆ AnimateScaleY

AnimationCurve MoreMountains.Feedbacks.MMFeedbackScale.AnimateScaleY = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1.5f), new Keyframe(1, 0))

the y scale animation definition

◆ AnimateScaleZ

AnimationCurve MoreMountains.Feedbacks.MMFeedbackScale.AnimateScaleZ = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0.3f, 1.5f), new Keyframe(1, 0))

the z scale animation definition

◆ AnimateX

bool MoreMountains.Feedbacks.MMFeedbackScale.AnimateX = true

if this is true, should animate the X scale value

◆ AnimateY

bool MoreMountains.Feedbacks.MMFeedbackScale.AnimateY = true

if this is true, should animate the Y scale value

◆ AnimateZ

bool MoreMountains.Feedbacks.MMFeedbackScale.AnimateZ = true

if this is true, should animate the z scale value

◆ DestinationScale

Vector3 MoreMountains.Feedbacks.MMFeedbackScale.DestinationScale = new Vector3(0.5f, 0.5f, 0.5f)

the scale to reach when in ToDestination mode

◆ DetermineScaleOnPlay

bool MoreMountains.Feedbacks.MMFeedbackScale.DetermineScaleOnPlay = false

if this is true, initial and destination scales will be recomputed on every play

◆ FeedbackTypeAuthorized

bool MoreMountains.Feedbacks.MMFeedbackScale.FeedbackTypeAuthorized = true
static

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

◆ Mode

Modes MoreMountains.Feedbacks.MMFeedbackScale.Mode = Modes.Absolute

sets the inspector color for this feedback

the mode this feedback should operate on Absolute : follows the curve Additive : adds to the current scale of the target ToDestination : sets the scale to the destination target, whatever the current scale is

◆ Offset

float MoreMountains.Feedbacks.MMFeedbackScale.Offset = 0f

how much should be added to the curve

◆ RemapCurveOne

float MoreMountains.Feedbacks.MMFeedbackScale.RemapCurveOne = 2f

the value to remap the curve's 1 value to

◆ RemapCurveZero

float MoreMountains.Feedbacks.MMFeedbackScale.RemapCurveZero = 1f

the value to remap the curve's 0 value to

◆ TimeScale

TimeScales MoreMountains.Feedbacks.MMFeedbackScale.TimeScale = TimeScales.Scaled

whether this feedback should play in scaled or unscaled time

Property Documentation

◆ FeedbackDuration

override float MoreMountains.Feedbacks.MMFeedbackScale.FeedbackDuration
getset

the duration of this feedback is the duration of the scale animation


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