protected override void StopInternal(VisualEffectStopMethod stopMethod) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) List <ParticleSystem> particleSystems = m_particleSystems; ParticleSystemStopBehavior val = stopMethod; int count = particleSystems.Count; for (int i = 0; i < count; i++) { ParticleSystem val2 = particleSystems[i]; if (null != val2) { MainModule main = val2.get_main(); if ((int)main.get_ringBufferMode() != 0) { main.set_ringBufferMode(0); } val2.Stop(false, val); } } }
internal void GroupStoppedInternal(VisualEffectStopMethod stopMethod) { state = VisualEffectState.Stopped; if (this.get_isActiveAndEnabled()) { StopInternal(stopMethod); } }
protected override void StopInternal(VisualEffectStopMethod stopMethod) { List <VisualEffect> children = m_children; int count = children.Count; for (int i = 0; i < count; i++) { children[i].GroupStoppedInternal(stopMethod); } }
protected override void StopInternal(VisualEffectStopMethod stopMethod) { if (null == m_animationController) { return; } if (m_playQueuedCoroutine != null) { this.StopCoroutine(m_playQueuedCoroutine); m_playQueuedCoroutine = null; } if (m_stopQueuedCoroutine != null) { this.StopCoroutine(m_stopQueuedCoroutine); m_stopQueuedCoroutine = null; } if (base.state == VisualEffectState.Paused) { SetSpeed(1f); } if (null == m_endClip) { m_animationController.Stop(); return; } switch (m_stopMode) { case StopMode.Natural: m_playQueuedCoroutine = this.StartCoroutine(PlayQueued(m_endClip.get_name())); break; case StopMode.CrossFade: m_animationController.CrossFade(m_endClip.get_name(), m_endCrossFadeDuration); break; case StopMode.Skip: m_animationController.Play(m_endClip.get_name(), 4); break; default: throw new ArgumentOutOfRangeException(); } }
public void Stop(VisualEffectStopMethod stopMethod = VisualEffectStopMethod.Stop) { state = VisualEffectState.Stopped; if (!this.get_isActiveAndEnabled()) { return; } StopInternal(stopMethod); if (m_destroyMethod == VisualEffectDestroyMethod.WhenStoppedAndFinished) { if (stopMethod == VisualEffectStopMethod.StopAndClear) { if (destructionOverride != null) { destructionOverride(this); } else { Object.Destroy(this.get_gameObject()); } return; } if (m_destroyMethodCoroutine != null) { this.StopCoroutine(m_destroyMethodCoroutine); } m_destroyMethodCoroutine = this.StartCoroutine(AutomaticDestructionCheckRoutine()); } else if (m_destroyMethod == VisualEffectDestroyMethod.WhenStopped) { if (destructionOverride != null) { destructionOverride(this); } else { Object.Destroy(this.get_gameObject()); } } }
protected abstract void StopInternal(VisualEffectStopMethod stopMethod);
protected override void StopInternal(VisualEffectStopMethod stopMethod) { throw new NotImplementedException(); }