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);
}
void PUParticle3DAffector::updateAffector(Particle3D *particle, float deltaTime)
{
    updatePUAffector(static_cast<PUParticle3D*>(particle), deltaTime);
}