public void Init(ParticleConfig.Characteristics characteristics, Vector3 pos)
        {
            _characteristics = characteristics;

            //set auto destruct data
            _autoDestruct = characteristics.autoDestruct;
            _lifeTime     = _characteristics.lifeTime;
            //set position
            transform.position = pos;
        }
        public void GenerateParticle(Particle.Type type, Vector3 position)
        {
            //Get data
            string spawnType = Particle.sParticleTypeString[type];

            ParticleConfig.Characteristics characteristics = _particleConfig.GetCharacteristics(type);
            //Spawn particle
            if (particlePool != null)
            {
                BaseParticle particle = particlePool.GetPooledObject(spawnType) as BaseParticle;
                particle.Init(characteristics, position);
            }
        }