public BehaviorToolButton AddToolButton(Behavior behavior) { var button = behavior.CreateToolButton(); var category = BehaviorOrderer.GetCategory(behavior); AddToolButton(button, category); return(button); }
public static IEnumerable <Behavior> LoadBehaviors(Assembly assembly) { var result = new List <Behavior>(); var basic = typeof(Behavior); foreach (var t in assembly.GetTypes()) { if (basic.IsAssignableFrom(t) && !t.IsAbstract && t.GetConstructor(new Type[0]) != null && !t.HasAttribute <IgnoreAttribute>()) { var instance = Activator.CreateInstance(t) as Behavior; result.Add(instance); } } BehaviorOrderer.Order(result); return(result); }