private void Update()
    {
        if (Particles == null || Target == null)
        {
            return;
        }

        ParticleSystem.Particle[] particles = new ParticleSystem.Particle[Particles.particleCount];
        int count = Particles.GetParticles(particles);

        for (int i = 0; i < count; i++)
        {
            if (particles[i].startLifetime - particles[i].remainingLifetime >= m_AffectParticlesDelay)
            {
                particles[i].position = Vector3.Lerp(particles[i].position, TargetPosition, m_Lerp);
            }
        }

        Particles.SetParticles(particles, count);
    }