PUBehaviour* PUBehaviour::clone() { auto pb = new (std::nothrow) PUBehaviour; pb->autorelease(); copyAttributesTo(pb); return pb; }
PUParticleSystem3D* PUParticleSystem3D::clone() { auto ps = PUParticleSystem3D::create(); copyAttributesTo(ps); for (auto &iter : _children){ PUParticleSystem3D *child = dynamic_cast<PUParticleSystem3D *>(iter); if (child) ps->addChild(child->clone()); } return ps; }
PUPointEmitter* PUPointEmitter::clone() { auto be = PUPointEmitter::create(); copyAttributesTo(be); return be; }
PUParticleSystem3D* PUParticleSystem3D::clone() { auto ps = PUParticleSystem3D::create(); copyAttributesTo(ps); return ps; }
PUMeshSurfaceEmitter* PUMeshSurfaceEmitter::clone() { auto be = PUMeshSurfaceEmitter::create(); copyAttributesTo(be); return be; }
PUSlaveBehaviour* PUSlaveBehaviour::clone() { auto pb = PUSlaveBehaviour::create(); copyAttributesTo(pb); return pb; }
CCPUBoxEmitter* CCPUBoxEmitter::clone() { auto be = CCPUBoxEmitter::create(); copyAttributesTo(be); return be; }
PURibbonTrailRender* PURibbonTrailRender::clone() { auto tr = PURibbonTrailRender::create(_texFile); copyAttributesTo(tr); return tr; }
PUSphereRender* PUSphereRender::clone() { auto render = PUSphereRender::create(_texFile); copyAttributesTo(render); return render; }
PUParticle3DBoxRender* PUParticle3DBoxRender::clone() { auto render = PUParticle3DBoxRender::create(_texFile); copyAttributesTo(render); return render; }
PUParticle3DModelRender* PUParticle3DModelRender::clone() { auto mr = PUParticle3DModelRender::create(_modelFile, _texFile); copyAttributesTo(mr); return mr; }
PUBeamRender* PUBeamRender::clone() { auto br = PUBeamRender::create(_texFile); copyAttributesTo(br); return br; }