package armory.logicnode; class ScriptNode extends LogicNode { public var property0: String; var result: Dynamic; #if hscript var parser: hscript.Parser = null; var interp: hscript.Interp = null; var ast: hscript.Expr = null; #end public function new(tree: LogicTree) { super(tree); } override function run(from: Int) { var v: Dynamic = inputs[1].get(); #if hscript if (parser == null) { parser = new hscript.Parser(); parser.allowJSON = true; parser.allowTypes = true; ast = parser.parseString(property0); interp = new hscript.Interp(); interp.variables.set("Math", Math); interp.variables.set("Std", Std); } interp.variables.set("input", v); result = interp.execute(ast); #end runOutput(0); } override function get(from: Int): Dynamic { return result; } }