extends DeckNode func _init() -> void: name = "Get Dictionary Key" node_type = "dictionary_get_key" description = "" category = "general" add_input_port( DeckType.Types.DICTIONARY, "Dictionary" ) add_input_port( DeckType.Types.STRING, "Key", "field" ) add_output_port( DeckType.Types.ANY, "Value" ) func _value_request(on_port: int) -> Variant: var d = request_value(0) if d == null: return null var key = get_value_for_input_port(1) if key == null: return null return d.get(key) 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