public bool RemoveTimedEffect(TimedPerk effect) { if (perks.ContainsKey(effect.GetType()) && ReferenceEquals(perks[effect.GetType()], effect)) { effect.Deactivate(); return(perks.Remove(effect.GetType())); } return(false); }
public bool AddTimedEffect(TimedPerk timedPerk) { Type type = timedPerk.GetType(); if (perks.ContainsKey(type)) { return(false); } else { perks.Add(type, timedPerk); timedPerk.Activate(source); return(true); } }