private var collisionEvents = new ParticleSystem.CollisionEvent[16];
	function OnParticleCollision(other : GameObject) {
		// get the particle system
		var particleSystem : ParticleSystem;
		particleSystem = other.GetComponent(ParticleSystem);
		// adjust array length
		var safeLength = particleSystem.safeCollisionEventSize;
		if (collisionEvents.Length < safeLength) {
			collisionEvents = new ParticleSystem.CollisionEvent[safeLength];
		}
		// get collision events for the gameObject that the script is attached to
		var numCollisionEvents = particleSystem.GetCollisionEvents(gameObject, collisionEvents);
		// apply some force to RigidBody components
		for (var i = 0; i < numCollisionEvents; i++) {
			if (gameObject.rigidbody)
			{
				var pos = collisionEvents[i].intersection;
				var force = collisionEvents[i].velocity * 10;
				gameObject.rigidbody.AddForce(force);
			}
		}
	}