activateAction method
Implementation
void activateAction(AnimationAction action) {
if (!isActiveAction(action)) {
if (action.cacheIndex == null) {
// this action has been forgotten by the cache, but the user
// appears to be still using it -> rebind
final rootUuid = (action.localRoot ?? root).uuid,
clipUuid = action.clip.uuid,
actionsForClip = actionsByClip[clipUuid];
_bindAction(action, actionsForClip.knownActions[0] ?? actionsForClip);
_addInactiveAction(action, clipUuid, rootUuid);
}
final bindings = action.propertyBindings;
// increment reference counts / sort out state
for (int i = 0, n = bindings.length; i != n; ++i) {
final binding = bindings[i]!;
if (binding.useCount++ == 0) {
_lendBinding(binding);
binding.saveOriginalState();
}
}
_lendAction(action);
}
}