public ComponentDefinition Add(Type tyComp, params object[] initParms) { ComponentDefinition compDef = new ComponentDefinition(tyComp, initParms); _children.Add(compDef); return(compDef); }
public ComponentDefinition Add(CompBase comp) { ComponentDefinition compDef = new ComponentDefinition(comp); _children.Add(compDef); return(compDef); }
public ComponentDefinition Add(Type tyComp, string name) { ComponentDefinition compDef = new ComponentDefinition(tyComp, name); _children.Add(compDef); return(compDef); }
public ComponentDefinition Add(Enum plugin, params object[] initParms) { ComponentDefinition compDef = new ComponentDefinition(plugin, initParms); _children.Add(compDef); return(compDef); }
public ComponentDefinition Add(Type baseType, string pluginName, params object[] initParms) { ComponentDefinition compDef = new ComponentDefinition(baseType, pluginName, initParms); _children.Add(compDef); return(compDef); }
/// <summary> /// Add Sim class pairings for all unloaded plugin classes /// </summary> /// <param name="compDef"></param> /// <param name="unresolvedPlugins"></param> private void CreateSimClasses(ComponentDefinition compDef, List <ComponentDefinition> unresolvedPlugins) { if (unresolvedPlugins.Count == 0) { return; } // // Create classes for unresolved plugins // List <string> listSources = new List <string>(); foreach (ComponentDefinition def in unresolvedPlugins) { listSources.Add(GetSimSource(def.PluginBaseType, def.PluginName, string.Empty)); listSources.Add(GetSimSource(def.PluginBaseType, def.PluginName, CompBase.Sim)); } Type[] createdTypes = CompileClasses(compDef.Name, listSources); s_pluginCompTypes.AddRange(createdTypes); compDef.AssignUnresolvedPlugin(createdTypes); }
public void Add(ComponentDefinition compDef, eCleanUpMode cleanUpMode = eCleanUpMode.None) { foreach (Type tyLoaded in s_loadedCompTypes) { compDef.ConfirmNotPluginType(tyLoaded); } foreach (Type tyPlugIn in s_pluginCompTypes) { compDef.AssignPlugInType(tyPlugIn); } List <ComponentDefinition> unresolvedPlugins = new List <ComponentDefinition>(); compDef.GetUnloadedPlugins(unresolvedPlugins); // Assigns Sims, adds overrides to Serializer CreateSimClasses(compDef, unresolvedPlugins); AppStatus(string.Format("Reading {0}", compDef.Name)); // CompBase compRead = ReadXmlFile(compDef.CompType, compDef.Name); if (compRead == null) { compRead = Activator.CreateInstance(compDef.CompType, compDef.Name) as CompBase; } else { CompBase child = Activator.CreateInstance(compDef.CompType, compDef.Name) as CompBase; compDef.CreateComponents(child); RecurseCleanUpChild(child, compRead, cleanUpMode); } compDef.CreateComponents(compRead); base.Add(compRead); compRead.Initialize(); }