Question by
MarcoRobles · Nov 29, 2016 at 01:28 AM ·
particlesystem
Play/Stop/Pause a Particule syste?
I have a particule system on my Gameobject and when I shoot to it I want to play the particule system. I have the following code but It just play the first time the particule system and then it continues playing without making any pause or stop the particule system effect.
Code:
using UnityEngine; using System.Collections;
[RequireComponent(typeof(AudioSource))] public class EnemyLifeManager : MonoBehaviour {
public int InitialLife;
public int Money;
public int IsBoss;
private ParticleSystem blood;
private int CurrentLife;
private AudioSource sound;
// Use this for initialization
void Start () {
CurrentLife = InitialLife;
blood = GetComponentInChildren<ParticleSystem>() as ParticleSystem;
blood.Stop();
blood.Pause();
sound = GetComponent<AudioSource>();
}
// Update is called once per frame
void Update () {
if (CurrentLife <= 0)
{
var resourcesManager = FindObjectOfType(typeof(CreatorTurrets)) as CreatorTurrets;
resourcesManager.resource += Money;
if (IsBoss == 1)
{
var obj = FindObjectOfType(typeof(SceneChanger)) as SceneChanger;
obj.BossIsDead();
//obj.SendMessage("BossIsDead");
}
Destroy(this.gameObject);
}
}
private void OnTriggerStay(Collider other)
{
if (other.gameObject.name.ToLower().Contains("bullet"))
{
Destroy(other.gameObject);
}
}
private void OnTriggerEnter(Collider other)
{
var obj = other.gameObject;
if (obj.name.ToLower().Contains("bullet"))
{
sound.Play();
blood.Play();
if (obj.name[0] == 'm')
{
CurrentLife -= 10;
}
else if (obj.name[0] == 'n')
{
CurrentLife -= 5;
}
else
{
CurrentLife -= 15;
}
// blood.Stop();
blood.Pause();
}
}
}
Comment
Your answer
Follow this Question
Related Questions
GPU Particles 2 Answers
How do you use emission.rate? 2 Answers
How to make a particle system evenly lit? 1 Answer
Detecting neighbour particles in the particle system 0 Answers
Circle shape emitter is flipping particles on one side 1 Answer