IUpdatable Interface

Summary

[Pro-Only] An object that can be updated during Animancer's animation updates.
graph BT Type-.->Interface0["Key.IListItem"] click Interface0 "/animancer/api/Animancer/IListItem" Type["IUpdatable"] class Type type-node Implementing0["ExitEvent"]-.->Type click Implementing0 "/animancer/api/Animancer/ExitEvent" Implementing1["AnimancerState"]-.->Type click Implementing1 "/animancer/api/Animancer/AnimancerState" Implementing2["ManualMixerState"]-.->Type click Implementing2 "/animancer/api/Animancer/ManualMixerState" Implementing3["ClipState"]-.->Type click Implementing3 "/animancer/api/Animancer/ClipState" Implementing4["CustomFade"]-.->Type click Implementing4 "/animancer/api/Animancer/CustomFade" Implementing5["DirectionalMixerState"]-.->Type click Implementing5 "/animancer/api/Animancer/DirectionalMixerState" Implementing6["MixerParameterTweenVector2"]-.->Type click Implementing6 "/animancer/api/Animancer/MixerParameterTweenVector2" Implementing7["CartesianMixerState"]-.->Type click Implementing7 "/animancer/api/Animancer/CartesianMixerState" Implementing8["MixerState<TParameter>"]-.->Type click Implementing8 "/animancer/api/Animancer/MixerState_1" Implementing9["LinearMixerState"]-.->Type click Implementing9 "/animancer/api/Animancer/LinearMixerState" Implementing10["ControllerState"]-.->Type click Implementing10 "/animancer/api/Animancer/ControllerState" Implementing11["AnimancerNode"]-.->Type click Implementing11 "/animancer/api/Animancer/AnimancerNode" Implementing12["DontAllowFade"]-.->Type click Implementing12 "/animancer/api/Animancer/DontAllowFade" Implementing13["Float2ControllerState"]-.->Type click Implementing13 "/animancer/api/Animancer/Float2ControllerState" Implementing14["AnimancerState.EventDispatcher"]-.->Type click Implementing14 "/animancer/api/Animancer/EventDispatcher" Implementing15["MixerParameterTween<TParameter>"]-.->Type click Implementing15 "/animancer/api/Animancer/MixerParameterTween_1" Implementing16["AnimancerState.DelayedPause"]-.->Type click Implementing16 "/animancer/api/Animancer/DelayedPause" Implementing17["MixerParameterTweenFloat"]-.->Type click Implementing17 "/animancer/api/Animancer/MixerParameterTweenFloat" Implementing18["Float1ControllerState"]-.->Type click Implementing18 "/animancer/api/Animancer/Float1ControllerState" Implementing19["AnimancerLayer"]-.->Type click Implementing19 "/animancer/api/Animancer/AnimancerLayer" Implementing20["PlayableAssetState"]-.->Type click Implementing20 "/animancer/api/Animancer/PlayableAssetState" Implementing21["Float3ControllerState"]-.->Type click Implementing21 "/animancer/api/Animancer/Float3ControllerState"

Syntax

public interface IUpdatable : Key.IListItem

Examples

Register to receive updates using Animancer.AnimancerPlayable.RequirePreUpdate(Animancer.IUpdatable) or Animancer.AnimancerPlayable.RequirePostUpdate(Animancer.IUpdatable) and stop receiving updates using Animancer.AnimancerPlayable.CancelPreUpdate(Animancer.IUpdatable) or Animancer.AnimancerPlayable.CancelPostUpdate(Animancer.IUpdatable).

 public sealed class MyUpdatable : Key, IUpdatable
 {
     private AnimancerComponent _Animancer;

     public void StartUpdating(AnimancerComponent animancer)
     {
         _Animancer = animancer;
         
         // If you want Update to be called before the playables get updated.
         _Animancer.Playable.RequirePreUpdate(this);
         
         // If you want Update to be called after the playables get updated.
         _Animancer.Playable.RequirePostUpdate(this);
     }

     public void StopUpdating()
     {
         // If you used RequirePreUpdate.
         _Animancer.Playable.CancelPreUpdate(this);
         
         // If you used RequirePostUpdate.
         _Animancer.Playable.CancelPostUpdate(this);
     }

     void IUpdatable.Update()
     {
         // Called during every animation update.
         
         // AnimancerPlayable.Current can be used to access the system it is being updated by.
     }
 }

Methods

Name Value Summary
Update() void
Called during every UnityEngine.Animator update.