public static bool TryGetScript(string typeName, string scriptName, out TsDelegate del) { if (typeName == null) { del = null; return(false); } var origin = typeName; do { if (InstanceScripts.TryGetValue(typeName, scriptName, out del)) { //If the script is inherited, cache it in the child's script lookup. if (typeName != origin) { InstanceScripts.Add(origin, scriptName, del); } return(true); } }while (Inherits.TryGetValue(typeName, out typeName)); del = null; return(false); }
public static void ProcessObjectDefinition(ObjectDefinition definition) { Types.Add(definition.Name); if (definition.Parent != null) { Inherits.Add(definition.Name, definition.Parent); } InstanceScripts.AddRow(definition.Name, definition.Scripts); }