void Update() { if (_triggered && _particleSystem != null) { _currentAlpha -= _particleSystem.main.duration * Time.deltaTime; if (this.gameObject.GetComponent <SpriteRenderer>()) { var tempColor = this.gameObject.GetComponent <SpriteRenderer>().color; tempColor.a = _currentAlpha; this.gameObject.GetComponent <SpriteRenderer>().color = tempColor; } if (!_particleSystem.IsAlive() && _callback != null) { _callback(); _callback = null; } /*if (_particleSystem.isPlaying) * { * _particleSystem.Stop(); * }*/ } }
public void Trigger(Utilities.FxComplete callback) { if (_particleSystem != null) { _particleSystem.Play(); } _triggered = true; _callback = callback; }
private void Awake() { if (_particleSystemPrefab != null) { _particleSystem = Instantiate(_particleSystemPrefab); _particleSystem.transform.parent = transform; _particleSystem.transform.localPosition = Vector3.zero - Vector3.up * 0.2f; } _triggered = false; _callback = null; }
void Update() { if (_triggered && _particleSystem != null) { if (!_particleSystem.IsAlive() && _callback != null) { _callback(); _callback = null; _particleSystem.Stop(); } /*if (_particleSystem.isPlaying) * { * _particleSystem.Stop(); * }*/ } }