using System; using System.Collections.Generic; using FX; using UnityEngine; namespace MU3 { // Token: 0x02000725 RID: 1829 public class AutoPushToCacheParticle_Off : MonoBehaviour { // Token: 0x06002F51 RID: 12113 RVA: 0x000FC688 File Offset: 0x000FC688 private void OnEnable() { this.time_ = 0f; this.particleSystems_ = EffectListResource.popParticleSystems(); this.particleSystemsAutoDistroy_ = EffectListResource.popParticleSystems(); base.GetComponentsInChildren(this.particleSystems_); int num = this.particleSystems_.Count - 1; while (0 <= num) { this.particleSystems_[num].Stop(true, ParticleSystemStopBehavior.StopEmitting); FX_Destroy component = this.particleSystems_[num].GetComponent(); if (null != component) { component.enabled = false; this.particleSystems_[num].gameObject.SetActive(false); this.particleSystemsAutoDistroy_.Add(this.particleSystems_[num]); this.particleSystems_.RemoveAt(num); } num--; } } // Token: 0x06002F52 RID: 12114 RVA: 0x000FC754 File Offset: 0x000FC754 private void OnDisable() { EffectListResource.pushParticleSystems(ref this.particleSystems_); EffectListResource.pushParticleSystems(ref this.particleSystemsAutoDistroy_); } // Token: 0x06002F53 RID: 12115 RVA: 0x000FC76C File Offset: 0x000FC76C private void Update() { if (this.time_ < this.duration_) { this.time_ += Time.deltaTime; return; } int num = 0; for (int i = 0; i < this.particleSystems_.Count; i++) { num += this.particleSystems_[i].particleCount; } if (num <= 0) { if (this.objectCache_ == null) { UnityEngine.Object.Destroy(base.gameObject); } else { for (int j = 0; j < this.particleSystems_.Count; j++) { this.particleSystems_[j].Play(true); } for (int k = 0; k < this.particleSystemsAutoDistroy_.Count; k++) { this.particleSystemsAutoDistroy_[k].gameObject.SetActive(true); } base.enabled = false; this.objectCache_.push(base.gameObject); } } } // Token: 0x040054D0 RID: 21712 [SerializeField] private float duration_; // Token: 0x040054D1 RID: 21713 public ObjectCache objectCache_; // Token: 0x040054D2 RID: 21714 private float time_; // Token: 0x040054D3 RID: 21715 private List particleSystems_; // Token: 0x040054D4 RID: 21716 private List particleSystemsAutoDistroy_; } }