示例#1
0
 protected virtual void Activate()
 {
     if (!IsActivated)
     {
         cachedEffect = EffectsController.Instance.PlayRightSequenceEffect(transform.position);
         IsActivated  = true;
     }
 }
示例#2
0
 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);
    }
示例#4
0
 protected virtual void Failed()
 {
     cachedEffect = EffectsController.Instance.PlayWrongSequenceEffect(transform.position);
 }