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); } } }
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); }
public unsafe static long $Invoke5(long instance, long *args) { return(GCHandledObjects.ObjectToGCHandle(MultipleEmittersPool.GetAllEmitters((GameObject)GCHandledObjects.GCHandleToObject(*args)))); }