Is the Particle System playing right now?
isPlaying returns true
when the particle system happens on each frame. The particle system has been stopped when isPlaying returns false
.
using UnityEngine;
// A particle sprite example of isPlaying. A button is created // that shows whether the particle system is running. If not, then // it can be started. If it is running then it can be stopped.
using UnityEngine;
public class ExampleClass : MonoBehaviour { public Texture2D tex; private ParticleSystem ps; private Sprite sprite;
void Start() { ps = GetComponent<ParticleSystem>(); sprite = Sprite.Create(tex, new Rect(0.0f, 0.0f, tex.width, tex.height), Vector2.zero);
var textureSheetAnimation = ps.textureSheetAnimation; textureSheetAnimation.enabled = true; textureSheetAnimation.mode = ParticleSystemAnimationMode.Sprites; textureSheetAnimation.AddSprite(sprite); }
void OnGUI() { if (ps.isPlaying) { if (GUI.Button(new Rect(10, 70, 150, 50), "Stop and clear")) { ps.Stop(true, ParticleSystemStopBehavior.StopEmittingAndClear); } } else { if (GUI.Button(new Rect(10, 70, 150, 50), "Play")) { ps.Play(false); } } } }