Play Sound on Particle Collision

Hi,

I have a really inconsistant way of playing sounds for when particles collide with a mesh collider! Maybe someone can help me fix that?

Strategy Catch the varaible 'x' that increments at the exact momment particles collide.

Problem: The time it takes the particles to emit from the player to the mesh collider, seems random, which is why my results are inconsistant.

Cause varaible 'x' incrementing when particle.emitter is turned on.

Third Edit

This code works..I think.

private IEnumerator OnParticleCollision(GameObject other)
{
    if (pCollision == false) {

        audio.clip = Success;
        audio.Play();

        pCollision = true;
    }
    if (ParticleInstantiations.myParticles) 
    {
         if (ParticleInstantiations.myParticles.particleEmitter.emit == false) 
         {
             yield return new WaitForSeconds(1.2f);
             pCollision = false;
         }
    }
}

Use OnParticleCollision:

function OnParticleCollision (other : GameObject) {
    x++;
    if (x <= 1) {
        audio.clip = Success;        
        audio.Play();
        x = 0;
    }  
}