You need to kill the update method for the particle, that way it doesn’t update anymore but the CCSGParticleSystem class still thinks the particle is alive. Then when you are ready to resume, you need to reset the update method to its proper code:
To freeze -
this.savedUpdate = this.myParticleSystem['_sgNode'].update;
this.myParticleSystem['_sgNode'].update = function () {return}
nice, just a side note but i believe cachedFreezeUpdate will essentially be exactly the same for all particles, you only need to grab it once, but each particle will need its _sgNode.update method flipped
I added a change to the C++ cocos some months ago that adds a method to freeze and unfreeze - if you have a hnt you should be able to find the name of the method. Im not on my Mac right now so can’t look it up.