public void ReceiveOnTimeEffect(PlayerOnTimeAppliedEffect effect) { if (effect._effect is DamageElement) { _onTimeEffects[effect.GetId()] = effect; } }
/// <summary> /// Adds a PlayerOnTimeAppliedEffect on every Character in the area of effect. /// </summary> /// <param name="hexagons">The Hexagons affected by the Effect.</param> /// <param name="target">The Hexagon aimed.</param> /// <param name="caster">The caster of the effect.</param> public override void ApplyEffect(List<Hexagon> hexagons, Hexagon target, Character caster) { List<Killable> killable = PlayBoardManager.GetInstance().GetKillableInArea(hexagons); foreach(Killable c in killable) { PlayerOnTimeAppliedEffect effect = new PlayerOnTimeAppliedEffect(_id, _effect, _nbTurn, caster); c.ReceiveOnTimeEffect(effect); } }
public void RemoveOnTimeEffect(PlayerOnTimeAppliedEffect effect) { Logger.Trace("Removing effect " + effect.GetId() + "."); _onTimeEffectsToRemove.Add(effect.GetId()); Logger.Trace("Removed"); }
/// <summary> /// Adds a PlayerOnTimeAppliedEffect to the Character. /// </summary> /// <param name="effect">The effect to affect the Character by.</param> public void ReceiveOnTimeEffect(PlayerOnTimeAppliedEffect effect) { _onTimeEffects[effect.GetId()] = effect; if(effect._effect is DamageElement) { DamageElement de = (DamageElement)effect._effect; HistoricManager.GetInstance().AddText(String.Format(StringsErule.dot,Name,de._element._name,effect._nbTurn)); } if (effect._effect is Heal) { HistoricManager.GetInstance().AddText(String.Format(StringsErule.hot, Name, effect._nbTurn)); } }