public static Fireable Of(this Fireable fireable, IFireable subemitter) { if (fireable == null) { throw new ArgumentNullException("fireable"); } var lowest = GetLowestChild(fireable); lowest.Child = subemitter; return(fireable); }
static Fireable GetLowestChild(Fireable fireable) { var last = fireable; while (fireable != null) { last = fireable; fireable = fireable.Child as Fireable; } return(last); }
public static Fireable Of(this Fireable fireable, params IFireable[] subemitters) { return(fireable.Of(new RandomSubemitterFireable(subemitters))); }
public static Fireable Of(this Fireable fireable, IEnumerable <IFireable> subemitters) { return(fireable.Of(new RandomSubemitterFireable(subemitters))); }
public static Fireable Of(this Fireable fireable, FireAction fireAction) { return(fireable.Of(new FuncFireable(fireAction))); }