package leenkx.logicnode; import iron.data.Data; import iron.data.Wasm; class CallWASMNode extends LogicNode { public var result: Dynamic; public var property1: Bool; public function new(tree:LogicTree) { super(tree); } override function run(from: Int){ var wasm = inputs[1].get(); var funName = inputs[2].get(); var args: Array = []; for (i in 3...inputs.length) { args.push(inputs[i].get()); } var func = Reflect.field(wasm.exports, funName); if (func != null) { result = Reflect.callMethod(wasm.exports, func, args); } runOutput(0); } override function get(from: Int): Dynamic { return result; } }