play method
Starts or restarts the confetti animation.
If the animation is already playing this is a no-op; call ConfettiController.reset first if you want to replay from the beginning.
Implementation
void play() {
if (_state == ControllerState.playing) return;
_state = ControllerState.playing;
notifyListeners();
}