@@ -60,6 +60,7 @@ func _on_undo_redo_version_changed():
60
60
61
61
func _on_show_script_button_pressed ():
62
62
var script : String = _block_canvas .generate_script_from_current_window ()
63
+ print ("_on_show_script_button_pressed " , _block_canvas ._context .block_code_node )
63
64
64
65
script_window_requested .emit (script )
65
66
@@ -132,10 +133,7 @@ func save_script():
132
133
print ("No script loaded to save." )
133
134
return
134
135
135
- if not Engine .is_editor_hint ():
136
- return
137
-
138
- var scene_node = EditorInterface .get_edited_scene_root ()
136
+ var scene_node = EditorInterface .get_edited_scene_root () if Engine .is_editor_hint () else null
139
137
140
138
if not BlockCodePlugin .is_block_code_editable (_context .block_code_node ):
141
139
print ("Block code for {node} is not editable." .format ({"node" : _context .block_code_node }))
@@ -146,29 +144,36 @@ func save_script():
146
144
var resource_path_split = block_script .resource_path .split ("::" , true , 1 )
147
145
var resource_scene = resource_path_split [0 ]
148
146
149
- undo_redo .create_action ("Modify %s 's block code script" % _context .parent_node .name , UndoRedo .MERGE_DISABLE , _context .block_code_node )
147
+ if undo_redo :
148
+ undo_redo .create_action ("Modify %s 's block code script" % _context .parent_node .name , UndoRedo .MERGE_DISABLE , _context .block_code_node )
150
149
151
- if resource_scene and resource_scene != scene_node .scene_file_path :
150
+ if resource_scene and scene_node and resource_scene != scene_node .scene_file_path :
152
151
# This resource is from another scene. Since the user is changing it
153
152
# here, we'll make a copy for this scene rather than changing it in the
154
153
# other scene file.
155
- undo_redo .add_undo_property (_context .block_code_node , "block_script" , _context .block_script )
154
+ if undo_redo :
155
+ undo_redo .add_undo_property (_context .block_code_node , "block_script" , _context .block_script )
156
156
block_script = block_script .duplicate (true )
157
- undo_redo .add_do_property (_context .block_code_node , "block_script" , block_script )
157
+ if undo_redo :
158
+ undo_redo .add_do_property (_context .block_code_node , "block_script" , block_script )
158
159
159
- undo_redo .add_undo_property (block_script , "block_serialization_trees" , block_script .block_serialization_trees )
160
+ if undo_redo :
161
+ undo_redo .add_undo_property (block_script , "block_serialization_trees" , block_script .block_serialization_trees )
160
162
_block_canvas .rebuild_ast_list ()
161
163
_block_canvas .rebuild_block_serialization_trees ()
162
- undo_redo .add_do_property (block_script , "block_serialization_trees" , block_script .block_serialization_trees )
164
+ if undo_redo :
165
+ undo_redo .add_do_property (block_script , "block_serialization_trees" , block_script .block_serialization_trees )
163
166
164
167
var generated_script = _block_canvas .generate_script_from_current_window ()
165
168
if generated_script != block_script .generated_script :
166
- undo_redo .add_undo_property (block_script , "generated_script" , block_script .generated_script )
167
- undo_redo .add_do_property (block_script , "generated_script" , generated_script )
168
-
169
+ if undo_redo :
170
+ undo_redo .add_undo_property (block_script , "generated_script" , block_script .generated_script )
171
+ undo_redo .add_do_property (block_script , "generated_script" , generated_script )
172
+
169
173
block_script .version = Constants .CURRENT_DATA_VERSION
170
174
171
- undo_redo .commit_action ()
175
+ if undo_redo :
176
+ undo_redo .commit_action ()
172
177
173
178
174
179
func _input (event ):
@@ -278,13 +283,18 @@ func _create_variable(variable: VariableDefinition):
278
283
279
284
var block_script : BlockScriptSerialization = _context .block_script
280
285
281
- undo_redo .create_action ("Create variable %s in %s 's block code script" % [variable .var_name , _context .parent_node .name ])
282
- undo_redo .add_undo_property (_context .block_script , "variables" , _context .block_script .variables )
286
+ if undo_redo :
287
+ undo_redo .create_action ("Create variable %s in %s 's block code script" % [variable .var_name , _context .parent_node .name ])
288
+ undo_redo .add_undo_property (_context .block_script , "variables" , _context .block_script .variables )
283
289
284
- var new_variables = block_script .variables .duplicate ()
285
- new_variables .append (variable )
290
+ var new_variables = block_script .variables .duplicate ()
291
+ new_variables .append (variable )
286
292
287
- undo_redo .add_do_property (_context .block_script , "variables" , new_variables )
288
- undo_redo .commit_action ()
293
+ undo_redo .add_do_property (_context .block_script , "variables" , new_variables )
294
+ undo_redo .commit_action ()
295
+ else :
296
+ var new_variables = block_script .variables .duplicate ()
297
+ new_variables .append (variable )
298
+ block_script .variables = new_variables
289
299
290
300
_picker .reload_blocks ()
0 commit comments