@@ -18,6 +18,7 @@ var _scene_root: Node
1818var _block_code_nodes : Array
1919var _collapsed : bool = false
2020
21+ var plugin_version : String
2122var undo_redo : EditorUndoRedoManager
2223
2324
@@ -33,6 +34,11 @@ func _ready():
3334 _collapse_button .icon = _icon_collapse
3435
3536
37+ func setup (p_plugin_version : String , p_undo_redo : EditorUndoRedoManager ):
38+ plugin_version = p_plugin_version
39+ undo_redo = p_undo_redo
40+
41+
3642func _on_undo_redo_version_changed ():
3743 if _current_block_code_node == null :
3844 return
@@ -47,6 +53,16 @@ func _on_button_pressed():
4753 _print_generated_script ()
4854
4955
56+ func _try_migration ():
57+ var script_version = _current_block_code_node .block_script .version
58+ if script_version == plugin_version :
59+ # No migration needed.
60+ return
61+ if script_version .is_empty ():
62+ script_version = "none"
63+ push_warning ("Migration not implemented from %s to %s " % [script_version , plugin_version ])
64+
65+
5066func switch_scene (scene_root : Node ):
5167 _title_bar .scene_selected (scene_root )
5268
@@ -58,6 +74,7 @@ func switch_script(block_code_node: BlockCode):
5874 _title_bar .bsd_selected (block_script )
5975 _block_canvas .bsd_selected (block_script )
6076 if block_code_node :
77+ _try_migration ()
6178 EditorInterface .set_main_screen_editor ("Block Code" )
6279
6380
@@ -76,6 +93,7 @@ func save_script():
7693 var generated_script = _block_canvas .generate_script_from_current_window (block_script .script_inherits )
7794 block_script .block_trees = block_trees
7895 block_script .generated_script = generated_script
96+ block_script .version = plugin_version
7997
8098 undo_redo .add_do_property (_current_block_code_node .block_script , "block_trees" , block_trees )
8199 undo_redo .add_do_property (_current_block_code_node .block_script , "generated_script" , generated_script )
0 commit comments