extends DeckNode var expr = Expression.new() func _init(): name = "Expression" node_type = name.to_snake_case() description = "A Node holding a block of executable GDScript code." category = "general" props_to_serialize = [] add_output_port(DeckType.Types.ANY, "Expression Text", "codeblock") func _value_request(from_port : int) -> Variant: var text = get_output_ports()[0].value_callback.call() var err = expr.parse(text) if err != OK: printerr(err) return null var res = expr.execute() if expr.has_execute_failed(): printerr("Expression Execution Failed: ", text) return null return res