/// <summary> /// Retorna la cantidad acumulada de un tipo de Debuff. /// </summary> /// <param name="type">El tipo de debuff del cual queremos sacar la cantidad acumulada.</param> public int GetActiveDebuffAmmount(DeBuffType type, bool LimitedAndPermanent = false) { if (ActiveDebuffs.Keys.Count == 0) { ActiveDebuffs.Add(EffectDurationType.Limited, new List <DeBuff>()); ActiveDebuffs.Add(EffectDurationType.Permanent, new List <DeBuff>()); } int Acumulated = ActiveDebuffs[EffectDurationType.Limited] .Where(db => db.DebuffType == type) .Select(db => db.Ammount) .Sum(); if (LimitedAndPermanent) { int permanent = ActiveDebuffs[EffectDurationType.Permanent] .Where(db => db.DebuffType == type) .Select(db => db.Ammount) .Sum(); Acumulated += permanent; } return(Acumulated); }
public DeBuff GetDebuff(DeBuffType deBuffType) { return(Debuffs.Where(b => b.DebuffType == deBuffType).FirstOrDefault()); }