@@ -11,7 +11,6 @@ var eia: EditorInterfaceAccess
1111@onready var _editor_inspector : EditorInspector = EditorInterface .get_inspector ()
1212
1313var block_code_tab : Button
14- var _current_bsd : BlockScriptData
1514var _current_block_code_node : BlockCode
1615var _scene_root : Node
1716var _block_code_nodes : Array
@@ -29,6 +28,17 @@ func _ready():
2928
3029 # Setup block scripting environment
3130 block_code_tab = eia .Utils .find_child_by_name (eia .context_switcher , "Block Code" )
31+ undo_redo .version_changed .connect (_on_undo_redo_version_changed )
32+
33+
34+ func _on_undo_redo_version_changed ():
35+ if _current_block_code_node == null :
36+ return
37+
38+ var block_script : BlockScriptData = _current_block_code_node .block_script
39+ _picker .bsd_selected (block_script )
40+ _title_bar .bsd_selected (block_script )
41+ _block_canvas .bsd_selected (block_script )
3242
3343
3444func _on_button_pressed ():
@@ -40,30 +50,33 @@ func switch_scene(scene_root: Node):
4050
4151
4252func switch_script (block_code_node : BlockCode ):
43- var bsd = block_code_node .block_script if block_code_node else null
44- _current_bsd = bsd
53+ var block_script : BlockScriptData = block_code_node .block_script if block_code_node else null
4554 _current_block_code_node = block_code_node
46- _picker .bsd_selected (bsd )
47- _title_bar .bsd_selected (bsd )
48- _block_canvas .bsd_selected (bsd )
55+ _picker .bsd_selected (block_script )
56+ _title_bar .bsd_selected (block_script )
57+ _block_canvas .bsd_selected (block_script )
4958 if block_code_node :
5059 block_code_tab .pressed .emit ()
5160
5261
5362func save_script ():
54- if _current_bsd == null :
63+ if _current_block_code_node == null :
5564 print ("No script loaded to save." )
5665 return
5766
67+ var block_script : BlockScriptData = _current_block_code_node .block_script
68+
5869 undo_redo .create_action ("Modify %s 's block code script" % _current_block_code_node .get_parent ().name )
59- undo_redo .add_undo_property (_current_block_code_node , "bsd" , _current_bsd )
70+ undo_redo .add_undo_property (_current_block_code_node .block_script , "block_trees" , _current_block_code_node .block_script .block_trees )
71+ undo_redo .add_undo_property (_current_block_code_node .block_script , "generated_script" , _current_block_code_node .block_script .generated_script )
6072
6173 var block_trees := _block_canvas .get_canvas_block_trees ()
62- var generated_script = _block_canvas .generate_script_from_current_window (_current_bsd .script_inherits )
63- _current_bsd .block_trees = block_trees
64- _current_bsd .generated_script = generated_script
74+ var generated_script = _block_canvas .generate_script_from_current_window (block_script .script_inherits )
75+ block_script .block_trees = block_trees
76+ block_script .generated_script = generated_script
6577
66- undo_redo .add_do_property (_current_block_code_node , "bsd" , _current_bsd )
78+ undo_redo .add_do_property (_current_block_code_node .block_script , "block_trees" , block_trees )
79+ undo_redo .add_do_property (_current_block_code_node .block_script , "generated_script" , generated_script )
6780 undo_redo .commit_action ()
6881
6982
@@ -81,8 +94,9 @@ func _input(event):
8194
8295
8396func _print_generated_script ():
84- if _current_bsd == null :
97+ if _current_block_code_node == null :
8598 return
86- var script : String = _block_canvas .generate_script_from_current_window (_current_bsd .script_inherits )
99+ var block_script : BlockScriptData = _current_block_code_node .block_script
100+ var script : String = _block_canvas .generate_script_from_current_window (block_script .script_inherits )
87101 print (script )
88102 print ("Debug script! (not saved)" )
0 commit comments