//----------------------------------------------------------------------------
 //----------------------------------------------------------------------------
 private void GenerateParticles(DeltaTime deltaTime)
 {
     if (deltaTime.ElapsedGameTime.Milliseconds > ParticleController.GenerationTimer)
     {
         for (int nCounter = 0; nCounter < ParticleController.GenerationRate; ++nCounter)
         {
             if (m_freeParticleList.Count > 0)
             {
                 IParticle particle = m_freeParticleList.Dequeue();
                 particle.Scale = ParticleController.InitialScale;
                 ParticleController.InitializeParticle(ref particle, this);
                 particle.OnInitilized();
                 particle.Active = true;
             }
             else
             {
                 break;
             }
         }
     }
 }