play method

Future<void> play(
  1. String key
)

Play animation by key

Implementation

Future<void> play(String key) async {
  if (_isDisposed) return;

  final controller = _controllers[key];
  if (controller != null && mounted && !controller.isAnimating) {
    _states[key] = FSAnimationState.entering;
    notifyListeners();

    try {
      await controller.forward().orCancel;
      if (!_isDisposed && _states.containsKey(key)) {
        _states[key] = FSAnimationState.active;
        notifyListeners();
      }
    } catch (error) {
      if (!_isDisposed && _states.containsKey(key)) {
        _states[key] = FSAnimationState.idle;
        notifyListeners();
      }
    }
  }
}