void PUObserver::updateObserver( PUParticle3D *particle, float deltaTime, bool firstParticle ) { if (!_enabled) return; // Call the _firstParticle() function if the first particle in the update loop is encountered. if (firstParticle) { firstParticleUpdate(particle, deltaTime); } if (_particleTypeToObserveSet && particle->particleType != _particleTypeToObserve) return; // Observe handleObserve(particle, deltaTime); }
void PUAffector::process( PUParticle3D* particle, float delta, bool firstParticle ) { if (firstParticle){ firstParticleUpdate(particle, delta); } if (!_excludedEmitters.empty() && particle->parentEmitter){ // Return if the emitter which emits this particle is part of the vector std::string emitterName = particle->parentEmitter->getName(); auto iter = std::find(_excludedEmitters.begin(), _excludedEmitters.end(), emitterName); if (iter != _excludedEmitters.end()) { return; } } updatePUAffector(particle, delta); }