Table of Contents

Class SpriteAnimator

The Sprite Animator. Responsible for playing animations by changing the sprites of a SpriteRenderer based on the fps of the playing animation.

Namespace : SpriteAnimations

Fields

_animationChanged

[Tooltip("The event that will be invoked when the animation changes.")]
[SerializeField]
protected UnityEvent<SpriteAnimation> _animationChanged

Field Value

UnityEvent<SpriteAnimation>

_animations

protected Dictionary<string, SpriteAnimation> _animations

Field Value

Dictionary<string, SpriteAnimation>

_currentAnimation

protected SpriteAnimation _currentAnimation

Field Value

SpriteAnimation

_currentPerformer

protected AnimationPerformer _currentPerformer

Field Value

AnimationPerformer

_defaultAnimation

[Tooltip("The animation that will be played when this animator behaviour starts.")]
[SerializeField]
protected SpriteAnimation _defaultAnimation

Field Value

SpriteAnimation

_loaded

protected bool _loaded

Field Value

bool

_performersFactory

protected PerformerFactory _performersFactory

Field Value

PerformerFactory

_playOnStart

[Tooltip("If the animator should start playing on start.")]
[SerializeField]
protected bool _playOnStart

Field Value

bool

_spriteAnimations

[Tooltip("The animations that can be played by this Sprite Animator. Use the Animations Manager to edit this.")]
[SerializeField]
protected List<SpriteAnimation> _spriteAnimations

Field Value

List<SpriteAnimation>

_spriteRenderer

[Tooltip("The sprite renderer used for the animation.")]
[SerializeField]
protected SpriteRenderer _spriteRenderer

Field Value

SpriteRenderer

_state

protected AnimatorState _state

Field Value

AnimatorState

_stateChanged

[Tooltip("The event that will be invoked when the animator state changes.")]
[SerializeField]
protected UnityEvent<AnimatorState> _stateChanged

Field Value

UnityEvent<AnimatorState>

_updateMode

[Tooltip("The update mode of the animator.")]
[SerializeField]
protected UpdateMode _updateMode

Field Value

UpdateMode

Properties

AnimationChanged

The event that will be invoked when the animation changes.

public UnityEvent<SpriteAnimation> AnimationChanged { get; }

Property Value

UnityEvent<SpriteAnimation>

Animations

protected Dictionary<string, SpriteAnimation> Animations { get; }

Property Value

Dictionary<string, SpriteAnimation>

AnimationsList

The list of animations registered to this animator.

Important: Changing this at runtime will have no effect on the capacity of the animator to play changed list of animations.

public List<SpriteAnimation> AnimationsList { get; }

Property Value

List<SpriteAnimation>

CurrentAnimation

The current animation being played by the animator.

public SpriteAnimation CurrentAnimation { get; }

Property Value

SpriteAnimation

DefaultAnimation

The default animation that will be played when this animator behaviour starts.

public SpriteAnimation DefaultAnimation { get; }

Property Value

SpriteAnimation

IsPaused

Is The animator paused?

public bool IsPaused { get; }

Property Value

bool

IsPlaying

Is the animator playing?

public bool IsPlaying { get; }

Property Value

bool

IsStopped

Is The animation stopped?

public bool IsStopped { get; }

Property Value

bool

SpriteRenderer

The sprite renderer used by the animator.

public SpriteRenderer SpriteRenderer { get; }

Property Value

SpriteRenderer

State

The current state of the animator.

public AnimatorState State { get; }

Property Value

AnimatorState

StateChanged

The event that will be invoked when the animator state changes.

public UnityEvent<AnimatorState> StateChanged { get; }

Property Value

UnityEvent<AnimatorState>

Methods

Awake()

protected virtual void Awake()

CalculateCurrentAnimationDuration()

Calculates the duration of the current animation. Depending on the type of animation this can have serious perfomance impacts as it has to evaluate all frames of all the animation cycles.

public float CalculateCurrentAnimationDuration()

Returns

float

The duration of the current animation.

ChangeAnimation(SpriteAnimation)

This changes the current animation to be played by the animator. It will call the current animation Stop() method and the new animation Start() method.

protected void ChangeAnimation(SpriteAnimation animation)

Parameters

animation SpriteAnimation

FixedUpdate()

protected virtual void FixedUpdate()

GetAnimationByName(string)

Gets a registered animation by its name

public SpriteAnimation GetAnimationByName(string name)

Parameters

name string

Returns

SpriteAnimation

The animation or null if not found

LateUpdate()

protected virtual void LateUpdate()

LoadAnimator()

protected void LoadAnimator()

Pause()

Pauses the animator. Use Resume to continue.

public AnimationPerformer Pause()

Returns

AnimationPerformer

Play()

Plays the default animation. Or the first animation registered to the animator if there is no default animation registered.

public AnimationPerformer Play()

Returns

AnimationPerformer

Play(SpriteAnimation)

Plays the given sprite animation.

public AnimationPerformer Play(SpriteAnimation animation)

Parameters

animation SpriteAnimation

The animation to play.

Returns

AnimationPerformer

The animation performer.

Play(string)

Plays the specified animation by its name. Note that the animation must be registered to the animator in order to be found.

public AnimationPerformer Play(string name)

Parameters

name string

The name of the animation.

Returns

AnimationPerformer

The AnimationPerformer instance for the played animation, or null if the animation is not found.

Play<TAnimator>(SpriteAnimation)

Plays the specified animation.

public TAnimator Play<TAnimator>(SpriteAnimation animation) where TAnimator : AnimationPerformer

Parameters

animation SpriteAnimation

The animation to play.

Returns

TAnimator

The animation performer.

Type Parameters

TAnimator

The type of the animation performer.

Play<TAnimator>(string)

Plays the specified animation by its name. Note that the animation must be registered to the animator in order to be found.

public TAnimator Play<TAnimator>(string name) where TAnimator : AnimationPerformer

Parameters

name string

The name of the animation to play.

Returns

TAnimator

The AnimationPerformer instance for the played animation, or null if the animation is not found.

Type Parameters

TAnimator

The type of the animator.

Resume()

Resumes a paused animator.

public AnimationPerformer Resume()

Returns

AnimationPerformer

Start()

protected virtual void Start()

Stop()

Stops animating

public void Stop()

TryGetAnimationByName(string, out SpriteAnimation)

Tries to get a registered animation by its name

public bool TryGetAnimationByName(string name, out SpriteAnimation animation)

Parameters

name string
animation SpriteAnimation

Returns

bool

True if the animation is found, false otherwise

Update()

protected virtual void Update()