protected virtual void Activate() { if (!IsActivated) { cachedEffect = EffectsController.Instance.PlayRightSequenceEffect(transform.position); IsActivated = true; } }
public virtual void Deactivate() { if (!IsActivated) { return; } IsActivated = false; if (cachedEffect != null) { cachedEffect.ReturnToPool(); cachedEffect = null; } }
private ParticleSystemEffect GetPooledEffect(ParticleSystemEffect template) { for (int i = 0; i < pooledEffects.Count; i++) { if (!pooledEffects[i].IsActive && pooledEffects[i].name == template.name) { return(pooledEffects[i]); } } var newEffect = Instantiate(template); newEffect.name = template.name; pooledEffects.Add(newEffect); return(newEffect); }
protected virtual void Failed() { cachedEffect = EffectsController.Instance.PlayWrongSequenceEffect(transform.position); }