public SGenericParticleSystem(ParticleSystem system, ParticleSystemRenderer renderer, ParticleSystem.Particle[] particles, int particleCount)
        {
            if (system == null || renderer == null)
                return;

            instanceID = system.GetInstanceID();
            goInstanceID = system.gameObject.GetInstanceID();
            isLegacy = false;
            isWorldSpace = system.simulationSpace == ParticleSystemSimulationSpace.World;
            emit = system.enableEmission;
            enabled = renderer.enabled;
            position = system.transform.position;
            name = system.gameObject.name;
            SetParticleRenderer(renderer);

            this.particles = new SGenericParticleArray(particles, particleCount);
        }