2 extends DialogicVisualEditorField
4 ## Event block field for editing arrays.
7 const ArrayValue := "res://addons/dialogic/Editor/Events/Fields/array_part.tscn"
10 func _ready() -> void:
11 %Add.icon = get_theme_icon("Add", "EditorIcons")
12 %Add.pressed.connect(_on_AddButton_pressed)
15 func _set_value(value:Variant) -> void:
16 value = value as Array
17 for child in get_children():
22 var x: Node = load(ArrayValue).instantiate()
25 x.value_changed.connect(recalculate_values)
29 func _on_value_changed(value:Variant) -> void:
30 value_changed.emit(property_name, value)
33 func recalculate_values() -> void:
35 for child in get_children():
36 if child != %Add and !child.is_queued_for_deletion():
37 arr.append(child.get_value())
38 _on_value_changed(arr)
41 func _on_AddButton_pressed() -> void:
42 var x: Control = load(ArrayValue).instantiate()
45 x.value_changed.connect(recalculate_values)