Пример #1
0
        public void emission()
        {
            for (int i = 0; i < _parameter._count; ++i)
            {
                VoxelPoolObject obj      = _pool.create();
                VoxelParticle   particle = obj.GetComponent <VoxelParticle>();
                particle.gameObject.SetActive(true);



                Vector3 director = new Vector3(Random.Range(_parameter._beginDirector.x / 2, _parameter._endDirector.x / 2),
                                               Random.Range(_parameter._beginDirector.y / 2, _parameter._endDirector.y / 2),
                                               Random.Range(_parameter._beginDirector.z / 2, _parameter._endDirector.z / 2));


                particle.director = director.normalized;
                if (_parameter._shape == null)
                {
                    particle.position = this.transform.position;
                }
                else
                {
                    particle.position = _parameter._shape.getPosition(this.transform);
                }

                particle.speed = Random.Range(_parameter._speed.x, _parameter._speed.y);
                particle.time  = Random.Range(_parameter._time.x, _parameter._time.y);

                if (_parameter._color == null)
                {
                    particle.beginColor = _parameter._beginColor;
                    particle.endColor   = _parameter._endColor;
                }
                else
                {
                    VoxelEmitterColor.Pair pair = _parameter._color.color();
                    particle.beginColor = pair.begin;
                    particle.endColor   = pair.end;
                }
                particle.beginScale       = _parameter._beginScale;
                particle.endScale         = _parameter._endScale;
                particle.method           = _parameter._method;
                particle.gameObject.layer = this.gameObject.layer;
                particle.emission();
            }
        }
Пример #2
0
		public static void Destroy(VoxelParticle particle){
			GameObject.Destroy(particle.gameObject);
		}
Пример #3
0
 public static void Destroy(VoxelParticle particle)
 {
     GameObject.Destroy(particle.gameObject);
 }