예제 #1
0
 internal override void DealDamage(float damage, Declarations.Effect effect = null)
 {
     base.DealDamage(damage, effect);
     if (Alive)
     {
         anim.SetTrigger("Take Damage");
     }
 }
예제 #2
0
 private void RemoveEffect(Declarations.Effect curreEffect)
 {
     Effects.Remove(curreEffect);
     if (curreEffect.Type == Declarations.EffectType.Slow && Effects.All(x => x.Type != Declarations.EffectType.Slow))
     {
         slowEffect.Stop();
         slowEffect.Clear();
     }
 }
예제 #3
0
 internal virtual void DealDamage(float damage, Declarations.Effect effect = null)
 {
     if (Alive)
     {
         currentHealth -= damage;
         if (currentHealth <= 0)
         {
             currentHealth = 0;
             Died();
             return;
         }
         if (effect != null)
         {
             Effects.Add(effect);
             if (effect.Type == Declarations.EffectType.Slow)
             {
                 slowEffect.Play();
             }
         }
         UpdateUI();
     }
 }
예제 #4
0
 public void AddEffect(Declarations.Effect effect)
 {
     Effects.Add(effect);
 }