UnityEssentials
Small but useful tools and features for Unity
Vector2Animation.cs
Go to the documentation of this file.
1 using System;
2 
3 namespace UnityEngine
4 {
8  [Serializable]
10  {
14  [Tooltip("The animated Vector2")]
15  [NonSerialized] public Vector2 vector2ToAnimate;
19  [Tooltip("The Vector2 at the start of the animation")]
20  [SerializeField] public Vector2 originVector2;
24  [Tooltip("The Vector2 at the end of the animation")]
25  [SerializeField] public Vector2 destinationVector2;
26 
27  // It is mandatory to have a parameterless constructor to properly work with the SimpleAnimationsManager component in the inspector.
28  public Vector2Animation() : this(Vector2.zero, Vector2.zero, Vector2.zero) { }
29 
30  public Vector2Animation(Vector2 vector2ToAnimate, Vector2 destination, Vector2 origin, float duration = 1f, Curve curve = Curve.EaseInOut, WrapMode wrapMode = WrapMode.Once)
31  {
32  this.vector2ToAnimate = vector2ToAnimate;
33  this.originVector2 = origin;
34  this.destinationVector2 = destination;
35 
36 
37  this.duration = duration;
39  this.wrapMode = wrapMode;
40  }
41 
42  public override bool Step(float deltaTime, bool inverseIfMirror = true)
43  {
44  bool endOfAnimation = base.Step(deltaTime, inverseIfMirror);
45 
47 
48  return endOfAnimation;
49  }
50 
51  public override Object GetAnimatedObject(bool displayWarningIfNotApplicable)
52  {
53  if (displayWarningIfNotApplicable)
54  Debug.LogWarning("Trying to obtain the animated object from a Vector2Animation. This action is not supported. Access the 'vector2ToAnimate' instead.");
55  return null;
56  }
57  }
58 }
Curve
Predefined curves for the SimpleAnimations
Allows the animation of a Vector2.
Vector2 vector2ToAnimate
The animated Vector2
Vector2 originVector2
The Vector2 at the start of the animation
override Object GetAnimatedObject(bool displayWarningIfNotApplicable)
Returns the UnityEngine.Object animated. If not applicable, return null.
override bool Step(float deltaTime, bool inverseIfMirror=true)
Go forward or backwards in the animation.
Vector2Animation(Vector2 vector2ToAnimate, Vector2 destination, Vector2 origin, float duration=1f, Curve curve=Curve.EaseInOut, WrapMode wrapMode=WrapMode.Once)
Vector2 destinationVector2
The Vector2 at the end of the animation
Base class to create simple animations of any element.
WrapMode
How the animation behaves once finished. Should be executed only once? Start over?...
float duration
How much should the animation last?
AnimationCurve curve
The curve of the animation over time.
float currentAnimationCurveValue
The value of the animation at the current time. 0 means start state. 1 means end state.
WrapMode wrapMode
Determines how the animation behaves once finished. Should be executed only once? Start over?...
static AnimationCurve GetCurve(Curve curve)
Obtains the desired type of animation curve with a duration of 1 (starting on 0), the start value bei...