Class AnimationClipBindingCatalog
Wraps UnityEditor.AnimationUtility.GetAnimatableBindings(UnityEngine.GameObject,UnityEngine.GameObject) to answer "what could I bind next on this ONE
GameObject" for the add-binding affordance in the curve editor. Deliberately scoped to a single target
rather than the whole character hierarchy: GetAnimatableBindings called with the hierarchy root as
its own target returns every animatable property on every descendant — thousands of candidates for a
rigged character — which is useless as a flat picker. The caller instead re-enumerates per selected
GameObject (a transform picked in the scene or a hierarchy tree), and this type gets to cache each of
those single-target queries instead of re-walking Unity's reflection-based animatable-property scan
every time the picker repaints.
Inherited Members
Namespace: Serenity.Editor.AnimationHub.Engine
Assembly: Serenity.AnimationHub.Editor.dll
Syntax
public static class AnimationClipBindingCatalog
Methods
EnumerateCandidatesFor(GameObject, GameObject, AnimationClip)
Animatable properties on target (relative to root) that
are not already bound in excludeClip. Skips object-reference (isPPtrCurve)
candidates — object-reference curve authoring is out of scope for this engine, which only writes float
curves via AddBinding(AddBindingInput).
Declaration
public static IReadOnlyList<Candidate> EnumerateCandidatesFor(GameObject target, GameObject root, AnimationClip excludeClip)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | target | |
| GameObject | root | |
| AnimationClip | excludeClip |
Returns
| Type | Description |
|---|---|
| IReadOnlyList<Candidate> |
InvalidateCache()
Clears every cached GetAnimatableBindings result. The window calls this on rescan —
after the model selection changes, or after a structural edit to the target hierarchy could have added
or removed animatable properties the cache would otherwise keep reporting stale.
Declaration
public static void InvalidateCache()