public static IEnumerable <IAbility <T> > GetAbilities <T>(this IBane <T> bane) { return(bane.Ability.GetAbilities()); }
public static IBane <T> Merge <T>(this IBane <T> bane, IAbility <T> ability) { return(new Bane <T>(bane.Ability.Merge(ability), bane.Start)); }
internal void Put(IAbility <T> ability) { InnerBane = InnerBane == null ? new Bane <T>(ability) : InnerBane.Merge(ability); }