onAdded method
Implementation
@override
void onAdded() {
super.onAdded();
if (mountedArtboard is! RuntimeMountedArtboard ||
sourceArtboard == null ||
animations.isEmpty) {
return;
}
var runtimeLinearAnimations =
sourceArtboard!.linearAnimations.toList(growable: false);
var runtimeStateMachines =
sourceArtboard!.stateMachines.toList(growable: false);
for (final animation in animations) {
if (animation is NestedLinearAnimation) {
var animationId = animation.animationId;
if (animationId >= 0 && animationId < runtimeLinearAnimations.length) {
animation.linearAnimationInstance =
RuntimeNestedLinearAnimationInstance(LinearAnimationInstance(
runtimeLinearAnimations[animationId]));
}
} else if (animation is NestedStateMachine) {
var animationId = animation.animationId;
if (animationId >= 0 && animationId < runtimeStateMachines.length) {
final controller =
StateMachineController(runtimeStateMachines[animationId]);
animation.stateMachineInstance = RuntimeNestedStateMachineInstance(
(mountedArtboard as RuntimeMountedArtboard).artboardInstance,
controller,
);
if (mountedArtboard is RuntimeMountedArtboard) {
final runtimeMountedArtboard =
mountedArtboard as RuntimeMountedArtboard;
runtimeMountedArtboard.addEventListener(controller);
}
}
}
}
}