I figured it out in the end.
In order to fire the particlesystem manually you have to do particlesystem.reset() immediately before particlesystem.play()
i.e instead of
particlesystem.play();
its
particlesystem.reset();
particlesystem.play();
that way it will fires as many times as you need it to.
Is particlesystem.play() after particlesystem.reset() needed if you don’t stop it by that time? Just curios, what exactly was your problem? It’s not pretty clear.
I understand you fixed it, but clarifying it a little may help other people.
EDIT:
I see that Docs are saying “Resets particle state, doesn’t affect playing.” for the reset() function. Doesn’t this mean that it, well, resets it without stopping? Shouldn’t resetting while running just do what it’s called, without the need of play()?
I was showing a particle display once the player won the game.
When the player started the game again I noticed that the particle display didn’t fire the second time the player won.
After a bit of trial and error I discovered that called particle.reset() directly before particle.play() would have the required effect of it playing evertime the player won.