extends DeckNode func _init() -> void: name = "Compose Vector" node_type = "vector_compose" description = "" category = "math" add_input_port( DeckType.Types.NUMERIC, "X", "field" ) add_input_port( DeckType.Types.NUMERIC, "Y", "field" ) add_output_port( DeckType.Types.DICTIONARY, "Vector" ) func _value_request(on_port: int) -> Dictionary: var x = float(get_value_for_input_port(0)) var y = float(get_value_for_input_port(1)) return {"x": x, "y": y} func get_value_for_input_port(port: int) -> Variant: if request_value(port) != null: return request_value(port) elif get_input_ports()[port].value_callback.get_object() && get_input_ports()[port].value_callback.call() != null: return get_input_ports()[port].value_callback.call() else: return null