protected ScriptingObject(ScriptingEngine engine, ObjectDefinition definition) { Engine = engine; Definition = definition; CheckConstructorSyntax(); CheckDisplayModeSyntax(); Trace.WriteLine(this.ToString(), definition.ObjectClass); Notes = new List <Note>(); Notes.Add(new Note(this.ToString(), false)); }
public static ScriptingObject Parse(ScriptingEngine engine, string line) { var definition = ObjectDefinition.Parse(line); if (definition != null) { return(definition.CreateObject(engine)); } else { return(null); } }
public static ScriptingObject Create(ScriptingEngine engine, ObjectDefinition definition) { var constructor = Constructors.FirstOrDefault(c => c.ObjectClass == definition.ObjectClass && c.ObjectType == definition.ObjectType); if (constructor == null) { constructor = Constructors.FirstOrDefault(c => c.ObjectClass == definition.ObjectClass && c.ObjectType == "*"); } if (constructor == null) { throw new ArgumentException("Unrecognized object " + definition.ObjectClass + " " + definition.ObjectType); } return(constructor.CreateFunction(engine, definition)); }
protected ScriptingMap(ScriptingEngine engine, ObjectDefinition definition) : base(engine, definition) { }
internal static ScriptingMap Create(ScriptingEngine engine, ObjectDefinition definition) { return(new ScriptingMap(engine, definition)); }
protected ScriptingTask(ScriptingEngine engine, ObjectDefinition definition) : base(engine, definition) { Penalties = new List <Penalty>(); LoggerMarks = new List <string>(); }
public ScriptingObject CreateObject(ScriptingEngine engine) { return(ObjectConstructor.Create(engine, this)); }
protected ScriptingPenalty(ScriptingEngine engine, ObjectDefinition definition) : base(engine, definition) { Infringements = new List <Penalty>(); }
protected ScriptingRestriction(ScriptingEngine engine, ObjectDefinition definition) : base(engine, definition) { }
internal static ScriptingRestriction Create(ScriptingEngine engine, ObjectDefinition definition) { return(new ScriptingRestriction(engine, definition)); }