public void CreateNewParticle(Vector3 partSysPos)
        {
            var part = particles.New();

            part.ResetParticle();
            part.Alive = true;

            part.Lifetime = Lifetime.GetRandomNumInRange();
            part.Position = partSysPos + EmitRadius.GetRandomNumInRange();

            var i = 0;

            // process any initial events
            foreach (var ev in Events)
            {
                if (ev.ActualTime == 0)
                {
                    ev.DoItToIt(ref part);
                    i++;
                }
            }

            part.CurEvent = i;
            totalParticleLives++;
        }