Feel  4.3
The best way to improve your game's feel and make it extra juicy
MoreMountains.Feedbacks.MMSpringVector2Component< T > Class Template Reference

A spring component used to pilot Vector2 values on a target More...

Inheritance diagram for MoreMountains.Feedbacks.MMSpringVector2Component< T >:
MoreMountains.Feedbacks.MMSpringComponentBase MoreMountains.Tools.MMEventListener< MMSpringVector2Event > MoreMountains.Tools.MMMonoBehaviour

Public Member Functions

virtual void MoveTo (Vector2 newValue)
 
virtual void MoveToAdditive (Vector2 newValue)
 
virtual void MoveToSubtractive (Vector2 newValue)
 
virtual void MoveToRandom ()
 
virtual void MoveToInstant (Vector2 newValue)
 
virtual void MoveToRandom (Vector2 min, Vector2 max)
 
virtual void Bump (Vector2 bumpAmount)
 
virtual void BumpRandom ()
 
virtual void BumpRandom (Vector2 min, Vector2 max)
 
override void Stop ()
 Stops all value movement on this spring More...
 
override void RestoreInitialValue ()
 Restores this spring's initial value More...
 
override void ResetInitialValue ()
 Sets the current value of this spring as its new initial value, overriding the previous one More...
 
override void Finish ()
 Moves this spring to its destination and disables it More...
 
void OnMMEvent (MMSpringVector2Event springEvent)
 
- Public Member Functions inherited from MoreMountains.Feedbacks.MMSpringComponentBase
virtual void SetVelocityLowThreshold (float threshold)
 Sets the threshold under which the spring will consider its velocity as too low and will self disable More...
 
- Public Member Functions inherited from MoreMountains.Tools.MMEventListener< MMSpringVector2Event >
void OnMMEvent (T eventType)
 

Public Attributes

Target
 
TimeScaleModes TimeScaleMode = TimeScaleModes.Scaled
 whether this spring should run on scaled time (and be impacted by time scale changes) or unscaled time (and not be impacted by time scale changes) More...
 
MMChannelModes ChannelMode = MMChannelModes.Int
 
int Channel = 0
 the channel to listen to - has to match the one on the feedback More...
 
MMChannel MMChannelDefinition = null
 
MMSpringVector2 SpringVector2
 
Vector2 MoveToRandomValueMin = new Vector2(-2f, -2f)
 the minimum vector from which to pick a random value when calling MoveToRandom() More...
 
Vector2 MoveToRandomValueMax = new Vector2(2f, 2f)
 the maximum vector from which to pick a random value when calling MoveToRandom() More...
 
Vector2 BumpAmountRandomValueMin = new Vector2(-20f, -20f)
 the minimum vector from which to pick a random value when calling BumpRandom() More...
 
Vector2 BumpAmountRandomValueMax = new Vector2(20f, 20f)
 the maximum vector from which to pick a random value when calling BumpRandom() More...
 
Vector2 TestMoveToValue = new Vector2(2f, 2f)
 the value to move this spring to when interacting with any of the MoveTo debug buttons in its inspector More...
 
bool MoveToToolbar
 
Vector2 TestBumpAmount = new Vector2(75f, 100f)
 the amount by which to bump this spring when interacting with the Bump debug button in its inspector More...
 
bool BumpToToolbar
 
bool OtherControlsToToolbar
 
override bool LowVelocity => (Mathf.Abs(SpringVector2.Velocity.x) + Mathf.Abs(SpringVector2.Velocity.y)) < _velocityLowThreshold
 
float DeltaTime => (TimeScaleMode == TimeScaleModes.Scaled) ? Time.deltaTime : Time.unscaledDeltaTime
 
- Public Attributes inherited from MoreMountains.Feedbacks.MMSpringComponentBase
virtual bool LowVelocity => false
 whether or not this spring has reached a low enough velocity to self disable More...
 
UnityEvent OnEquilibriumReached
 

Protected Member Functions

override void UpdateSpringValue ()
 Updates the spring's target value More...
 
override void Initialization ()
 Performs initialization for this spring More...
 
virtual void ApplyValue (Vector2 newValue)
 
override void GrabCurrentValue ()
 Grabs the current value on the spring's target More...
 
override void Awake ()
 On awake we self disable More...
 
void OnDestroy ()
 
override void TestMoveTo ()
 
override void TestMoveToAdditive ()
 
override void TestMoveToSubtractive ()
 
override void TestMoveToRandom ()
 
override void TestMoveToInstant ()
 
override void TestBump ()
 
override void TestBumpRandom ()
 
- Protected Member Functions inherited from MoreMountains.Feedbacks.MMSpringComponentBase
virtual void Update ()
 On update we update our spring value and self disable if needed More...
 
virtual void Activate ()
 Activates this component More...
 
virtual void SelfDisable ()
 Disables this component More...
 

Properties

virtual Vector2 TargetVector2 [get, set]
 

Additional Inherited Members

- Public Types inherited from MoreMountains.Feedbacks.MMSpringComponentBase
enum  TimeScaleModes { TimeScaleModes.Unscaled, TimeScaleModes.Scaled }
 the different possible timescale modes for the spring More...
 
- Protected Attributes inherited from MoreMountains.Feedbacks.MMSpringComponentBase
float _velocityLowThreshold = 0.001f
 

Detailed Description

A spring component used to pilot Vector2 values on a target

Type Constraints
T :Component 

Member Function Documentation

◆ ApplyValue()

virtual void MoreMountains.Feedbacks.MMSpringVector2Component< T >.ApplyValue ( Vector2  newValue)
protectedvirtual

◆ Awake()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.Awake ( )
protectedvirtual

On awake we self disable

Reimplemented from MoreMountains.Feedbacks.MMSpringComponentBase.

◆ Bump()

virtual void MoreMountains.Feedbacks.MMSpringVector2Component< T >.Bump ( Vector2  bumpAmount)
virtual

◆ BumpRandom() [1/2]

virtual void MoreMountains.Feedbacks.MMSpringVector2Component< T >.BumpRandom ( )
virtual

◆ BumpRandom() [2/2]

virtual void MoreMountains.Feedbacks.MMSpringVector2Component< T >.BumpRandom ( Vector2  min,
Vector2  max 
)
virtual

◆ Finish()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.Finish ( )
virtual

Moves this spring to its destination and disables it

Reimplemented from MoreMountains.Feedbacks.MMSpringComponentBase.

◆ GrabCurrentValue()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.GrabCurrentValue ( )
protectedvirtual

Grabs the current value on the spring's target

Reimplemented from MoreMountains.Feedbacks.MMSpringComponentBase.

◆ Initialization()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.Initialization ( )
protectedvirtual

Performs initialization for this spring

Reimplemented from MoreMountains.Feedbacks.MMSpringComponentBase.

◆ MoveTo()

virtual void MoreMountains.Feedbacks.MMSpringVector2Component< T >.MoveTo ( Vector2  newValue)
virtual

◆ MoveToAdditive()

virtual void MoreMountains.Feedbacks.MMSpringVector2Component< T >.MoveToAdditive ( Vector2  newValue)
virtual

◆ MoveToInstant()

virtual void MoreMountains.Feedbacks.MMSpringVector2Component< T >.MoveToInstant ( Vector2  newValue)
virtual

◆ MoveToRandom() [1/2]

virtual void MoreMountains.Feedbacks.MMSpringVector2Component< T >.MoveToRandom ( )
virtual

◆ MoveToRandom() [2/2]

virtual void MoreMountains.Feedbacks.MMSpringVector2Component< T >.MoveToRandom ( Vector2  min,
Vector2  max 
)
virtual

◆ MoveToSubtractive()

virtual void MoreMountains.Feedbacks.MMSpringVector2Component< T >.MoveToSubtractive ( Vector2  newValue)
virtual

◆ OnDestroy()

void MoreMountains.Feedbacks.MMSpringVector2Component< T >.OnDestroy ( )
protected

◆ OnMMEvent()

◆ ResetInitialValue()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.ResetInitialValue ( )
virtual

Sets the current value of this spring as its new initial value, overriding the previous one

Reimplemented from MoreMountains.Feedbacks.MMSpringComponentBase.

◆ RestoreInitialValue()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.RestoreInitialValue ( )
virtual

Restores this spring's initial value

Reimplemented from MoreMountains.Feedbacks.MMSpringComponentBase.

◆ Stop()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.Stop ( )
virtual

Stops all value movement on this spring

Reimplemented from MoreMountains.Feedbacks.MMSpringComponentBase.

◆ TestBump()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.TestBump ( )
protectedvirtual

◆ TestBumpRandom()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.TestBumpRandom ( )
protectedvirtual

◆ TestMoveTo()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.TestMoveTo ( )
protectedvirtual

◆ TestMoveToAdditive()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.TestMoveToAdditive ( )
protectedvirtual

◆ TestMoveToInstant()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.TestMoveToInstant ( )
protectedvirtual

◆ TestMoveToRandom()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.TestMoveToRandom ( )
protectedvirtual

◆ TestMoveToSubtractive()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.TestMoveToSubtractive ( )
protectedvirtual

◆ UpdateSpringValue()

override void MoreMountains.Feedbacks.MMSpringVector2Component< T >.UpdateSpringValue ( )
protectedvirtual

Updates the spring's target value

Reimplemented from MoreMountains.Feedbacks.MMSpringComponentBase.

Member Data Documentation

◆ BumpAmountRandomValueMax

Vector2 MoreMountains.Feedbacks.MMSpringVector2Component< T >.BumpAmountRandomValueMax = new Vector2(20f, 20f)

the maximum vector from which to pick a random value when calling BumpRandom()

◆ BumpAmountRandomValueMin

Vector2 MoreMountains.Feedbacks.MMSpringVector2Component< T >.BumpAmountRandomValueMin = new Vector2(-20f, -20f)

the minimum vector from which to pick a random value when calling BumpRandom()

◆ BumpToToolbar

◆ Channel

the channel to listen to - has to match the one on the feedback

◆ ChannelMode

whether to listen on a channel defined by an int or by a MMChannel scriptable object. Ints are simple to setup but can get messy and make it harder to remember what int corresponds to what. MMChannel scriptable objects require you to create them in advance, but come with a readable name and are more scalable

◆ DeltaTime

float MoreMountains.Feedbacks.MMSpringVector2Component< T >.DeltaTime => (TimeScaleMode == TimeScaleModes.Scaled) ? Time.deltaTime : Time.unscaledDeltaTime

◆ LowVelocity

override bool MoreMountains.Feedbacks.MMSpringVector2Component< T >.LowVelocity => (Mathf.Abs(SpringVector2.Velocity.x) + Mathf.Abs(SpringVector2.Velocity.y)) < _velocityLowThreshold

◆ MMChannelDefinition

the MMChannel definition asset to use to listen for events. The feedbacks targeting this shaker will have to reference that same MMChannel definition to receive events - to create a MMChannel, right click anywhere in your project (usually in a Data folder) and go MoreMountains > MMChannel, then name it with some unique name

◆ MoveToRandomValueMax

Vector2 MoreMountains.Feedbacks.MMSpringVector2Component< T >.MoveToRandomValueMax = new Vector2(2f, 2f)

the maximum vector from which to pick a random value when calling MoveToRandom()

◆ MoveToRandomValueMin

Vector2 MoreMountains.Feedbacks.MMSpringVector2Component< T >.MoveToRandomValueMin = new Vector2(-2f, -2f)

the minimum vector from which to pick a random value when calling MoveToRandom()

◆ MoveToToolbar

◆ OtherControlsToToolbar

bool MoreMountains.Feedbacks.MMSpringVector2Component< T >.OtherControlsToToolbar

◆ SpringVector2

◆ Target

◆ TestBumpAmount

Vector2 MoreMountains.Feedbacks.MMSpringVector2Component< T >.TestBumpAmount = new Vector2(75f, 100f)

the amount by which to bump this spring when interacting with the Bump debug button in its inspector

◆ TestMoveToValue

Vector2 MoreMountains.Feedbacks.MMSpringVector2Component< T >.TestMoveToValue = new Vector2(2f, 2f)

the value to move this spring to when interacting with any of the MoveTo debug buttons in its inspector

◆ TimeScaleMode

whether this spring should run on scaled time (and be impacted by time scale changes) or unscaled time (and not be impacted by time scale changes)

Property Documentation

◆ TargetVector2

virtual Vector2 MoreMountains.Feedbacks.MMSpringVector2Component< T >.TargetVector2
getset

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