small racing game im working on
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
extends Button

@onready var hist: UndoRedo = owner.history
@onready var editor: TrackEditor = owner

func _on_selection_changed(nodes: Array[TrackObject]):
	disabled = nodes.size() == 0

func _pressed() -> void:
	hist.create_action("delete %d nodes" % editor.selected.size())
	for tobj in editor.selected:
		var node := tobj.live_node
		hist.add_do_method(%view.remove_obj.bind(tobj))
		hist.add_undo_reference(node)
		hist.add_undo_method(%view.add_obj.bind(tobj))
	hist.commit_action()
	disabled = true