Selaa lähdekoodia

fixed bug with copied nodes crashing due to connections not being made

Jonathan Higgins 2 kuukautta sitten
vanhempi
sitoutus
58d03a6b55
2 muutettua tiedostoa jossa 11 lisäystä ja 2 poistoa
  1. 3 1
      scenes/Nodes/valueslider.gd
  2. 8 1
      scenes/main/scripts/graph_edit.gd

+ 3 - 1
scenes/Nodes/valueslider.gd

@@ -14,6 +14,8 @@ func _ready() -> void:
 	$HSplitContainer/LineEdit.text = str($HSplitContainer/HSlider.value) # initial value
 	$HSplitContainer/LineEdit.text = str($HSplitContainer/HSlider.value) # initial value
 	$BreakFileMaker.hide()
 	$BreakFileMaker.hide()
 	editor.connect("automation_updated", Callable(self, "_on_automation_data_received"))
 	editor.connect("automation_updated", Callable(self, "_on_automation_data_received"))
+	
+	previous_value = slider.value
 
 
 
 
 func _on_h_slider_value_changed(value: float) -> void:
 func _on_h_slider_value_changed(value: float) -> void:
@@ -128,4 +130,4 @@ func _on_h_slider_drag_ended(value_changed: bool) -> void:
 		
 		
 func set_slider_value(value: float) -> void:
 func set_slider_value(value: float) -> void:
 	slider.value = value
 	slider.value = value
-	previous_value = value
+	

+ 8 - 1
scenes/main/scripts/graph_edit.gd

@@ -442,8 +442,15 @@ func delete_node(node_to_delete: GraphNode) -> void:
 
 
 func restore_node(node_to_restore: GraphNode) -> void:
 func restore_node(node_to_restore: GraphNode) -> void:
 	add_child(node_to_restore)
 	add_child(node_to_restore)
+	#relink everything
 	node_to_restore.connect("open_help", open_help)
 	node_to_restore.connect("open_help", open_help)
-	node_to_restore.node_moved.connect(_auto_link_nodes)	
+	node_to_restore.node_moved.connect(_auto_link_nodes)
+	if "undo_redo" in node_to_restore:
+		node_to_restore.undo_redo = control_script.undo_redo
+	for child in node_to_restore.get_children():
+		if "undo_redo" in child:
+			child.undo_redo = control_script.undo_redo
+	node_to_restore.dragged.connect(node_position_changed.bind(node_to_restore))
 	set_node_selected(node_to_restore, true)
 	set_node_selected(node_to_restore, true)
 	_track_changes()
 	_track_changes()
 	_register_inputs_in_node(node_to_restore)
 	_register_inputs_in_node(node_to_restore)