public override void PreReturnToPool(SmartPool prefabSmartPool, SmartPoolObjectInstance obj)
        {
            var p = obj.GetComponent <ParticleSystem>();

            if (p != null)
            {
                p.Stop(true, ParticleSystemStopBehavior.StopEmittingAndClear);
            }
        }
        public override void PreReturnToUser(SmartPool prefabSmartPool, SmartPoolObjectInstance obj)
        {
            var p = obj.GetComponent <ParticleSystem>();

            if (p != null)
            {
                p.time = 0;
                if (!p.isPlaying)
                {
                    p.Play();
                }
            }
        }