示例#1
0
 public static void StopChildEmitters(GameObject rootNode)
 {
     ParticleSystem[] allEmitters = MultipleEmittersPool.GetAllEmitters(rootNode);
     ParticleSystem[] array       = allEmitters;
     for (int i = 0; i < array.Length; i++)
     {
         ParticleSystem particleSystem = array[i];
         if (!particleSystem.isStopped)
         {
             particleSystem.Stop(false);
         }
     }
 }
示例#2
0
        public static EmitterPool CreateEmitterPool(ParticleSystem emitter, EmitterReturnedToPool emitterReturnedToPool)
        {
            EmitterPool result = null;

            if (emitter != null)
            {
                GameObject gameObject = emitter.gameObject;
                while (gameObject.transform.parent != null)
                {
                    gameObject = gameObject.transform.parent.gameObject;
                }
                ParticleSystem[] allEmitters = MultipleEmittersPool.GetAllEmitters(gameObject);
                if (allEmitters.Length > 1)
                {
                    result = new MultipleEmittersPool(gameObject, emitterReturnedToPool);
                }
                else
                {
                    result = new SingleEmitterPool(emitter, emitterReturnedToPool);
                }
            }
            return(result);
        }
示例#3
0
 public unsafe static long $Invoke5(long instance, long *args)
 {
     return(GCHandledObjects.ObjectToGCHandle(MultipleEmittersPool.GetAllEmitters((GameObject)GCHandledObjects.GCHandleToObject(*args))));
 }