示例#1
0
 public void ApplyEffect(IEffect effect)
 {
     if (effect.GetType() == typeof(TimeEffect))
     {
         DurationEffect.Add((TimeEffect)effect);
         effect.ApplyEffect(Stats.Find(x => x.Type == effect.TargetStat));
     }
     else
     {
         effect.ApplyEffect(Stats.Find(x => x.Type == effect.TargetStat));
     }
 }
示例#2
0
 public void OnEnterNode(ActorMB actor)
 {
     // Called when an actor enters
     Assert.IsTrue(effect != null);
     message.target = actor;
     effect.ApplyEffect(message);
 }
示例#3
0
 public void ApplyAbility(ICharacter character)
 {
     for (int i = 0; i < effects.Count; i++)
     {
         IEffect effect = (IEffect)effects [i];
         effect.ApplyEffect(character);
     }
 }
示例#4
0
    public void ApplyAbility(ICharacter character)
    {
        character.GetDefense().RestoreHealth(this.health);

        for (int i = 0; i < effects.Count; i++)
        {
            IEffect effect = (IEffect)effects [i];
            effect.ApplyEffect(character);
        }
    }
    public void ApplyAbility(ICharacter character)
    {
        IDefenseBehavior defense = character.GetDefense();

        defense.ApplyDamage(this.EMDamage, this.ThermalDamage, this.KineticDamage, this.ExplosiveDamage);

        for (int i = 0; i < effects.Count; i++)
        {
            IEffect effect = (IEffect)effects [i];
            effect.ApplyEffect(character);
        }
    }
示例#6
0
    public void ApplyAbility(ICharacter character)
    {
        Rigidbody2D rb2d = character.GetRB2D();

        rb2d.AddForce(Vector2.right * this.rushPower * character.GetDirection());

        for (int i = 0; i < effects.Count; i++)
        {
            IEffect effect = (IEffect)effects [i];
            effect.ApplyEffect(character);
        }
    }
示例#7
0
    public void ApplyAbility(ICharacter character)
    {
        Rigidbody2D rb2d = character.GetRB2D();

        rb2d.velocity = new Vector2(rb2d.velocity.x, 0);
        rb2d.AddForce(Vector2.up * this.jumpPower);

        for (int i = 0; i < effects.Count; i++)
        {
            IEffect effect = (IEffect)effects [i];
            effect.ApplyEffect(character);
        }
    }