Any way to stop ParticleEmitter2D?

I use Urho2d, and I’ve got ParticleEmitter2D. I need it to stop emitting particles at some moment, but not immediately disable it, removing all particles, I need existing particles to continue living, and after all die, remove node. Only working way I found is to set node’s position somewhere outside the screen, is there any less dirty-hackish way to achieve this?

You could give the emitters their own node, and set the parent to being the scene before disabling the rest of the object.

EDIT: After some experimentation it seems it would be better to set emitting to false (which would need to be implemented for ParticleEmitter2D) and re-enable the emitter’s node

Sorry, I didn’t quite get the idea. You mean, something like this?


(node is the top node, it has one child, which contains the particleEmitter component)

I was thinking more along the lines of:


And particleEmitter_->GetNode()->SetParent(node_) upon reuse. Along with resetting the position and the like.

ParticleEmitter has void SetEmitting(bool enable);, ParticleEmitter2D does not. Looks like it is a missing functionality.

I have no experience with the ParticleEmitter2D class, but would agree.