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:
particleEmitter_->GetNode()->SetParent(node_) upon reuse. Along with resetting the position and the like.
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.