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));
        }
    }