Exemplo n.º 1
0
        public ParticleBehaviour SpawnParticle(ParticleObject particleObject, Transform transform)
        {
            ParticleBehaviour pb = SpawnParticle(particleObject, transform.position, transform.rotation);

            pb.transform.parent = transform;
            return(pb);
        }
Exemplo n.º 2
0
        public ParticleBehaviour Spawn(Transform transform)
        {
            ParticleBehaviour newParticle = Spawn();

            newParticle.transform.parent        = transform;
            newParticle.transform.localPosition = Vector3.zero;
            newParticle.transform.localRotation = Quaternion.identity;
            return(newParticle);
        }
Exemplo n.º 3
0
        public ParticleBehaviour Spawn(Vector3 position, Quaternion rotation)
        {
            ParticleBehaviour newParticle = Spawn();

            newParticle.transform.position = position;
            newParticle.transform.rotation = rotation;
            newParticle.transform.parent   = null;
            return(newParticle);
        }
Exemplo n.º 4
0
        ParticleBehaviour Spawn()
        {
            ParticleBehaviour newParticle = null;

            if (recycledParticleBehaviours.Count == 0)
            {
                newParticle = Instantiate(particlePrefab) as ParticleBehaviour;
                newParticle.SetParticlePool(this);
            }
            else
            {
                newParticle = recycledParticleBehaviours.Pop();
            }
            newParticle.gameObject.SetActive(true);
            newParticle.Spawn();
            return(newParticle);
        }
Exemplo n.º 5
0
 public void Recycle(ParticleBehaviour particleBehaviour)
 {
     recycledParticleBehaviours.Push(particleBehaviour);
     particleBehaviour.gameObject.SetActive(false);
     particleBehaviour.transform.parent = transform;
 }
Exemplo n.º 6
0
 public void InitializePool(ParticleBehaviour particlePrefab)
 {
     this.particlePrefab = particlePrefab;
 }