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)); } }
public void OnEnterNode(ActorMB actor) { // Called when an actor enters Assert.IsTrue(effect != null); message.target = actor; effect.ApplyEffect(message); }
public void ApplyAbility(ICharacter character) { for (int i = 0; i < effects.Count; i++) { IEffect effect = (IEffect)effects [i]; effect.ApplyEffect(character); } }
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); } }
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); } }
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); } }