onAdded method

  1. @override
void onAdded()

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);
        }
      }
    }
  }
}