Skip to content

Commit 387f5ca

Browse files
authored
Merge pull request #122 from endlessm/T35547-add-version-to-data
Add version to block script data
2 parents 4dd1133 + 20f5f54 commit 387f5ca

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

addons/block_code/block_script_data/block_script_data.gd

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ extends Resource
44
@export var script_inherits: String
55
@export var block_trees: SerializedBlockTreeNodeArray
66
@export var generated_script: String
7+
@export var version: int
78

89

9-
func _init(p_script_inherits: String = "", p_block_trees: SerializedBlockTreeNodeArray = null, p_generated_script: String = ""):
10+
func _init(p_script_inherits: String = "", p_block_trees: SerializedBlockTreeNodeArray = null, p_generated_script: String = "", p_version = 0):
1011
script_inherits = p_script_inherits
1112
block_trees = p_block_trees
1213
generated_script = p_generated_script
14+
version = p_version

addons/block_code/ui/constants.gd

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
extends Object
22

3+
const CURRENT_DATA_VERSION = 0
4+
35
const KNOB_X = 10.0
46
const KNOB_W = 20.0
57
const KNOB_H = 5.0

addons/block_code/ui/main_panel.gd

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ extends Control
1515
@onready var _icon_collapse := EditorInterface.get_editor_theme().get_icon("Back", "EditorIcons")
1616
@onready var _icon_expand := EditorInterface.get_editor_theme().get_icon("Forward", "EditorIcons")
1717

18+
const Constants = preload("res://addons/block_code/ui/constants.gd")
19+
1820
var _current_block_code_node: BlockCode
1921
var _block_code_nodes: Array
2022
var _collapsed: bool = false
@@ -86,6 +88,14 @@ func _on_delete_dialog_confirmed(block_code_node: BlockCode):
8688
undo_redo.commit_action()
8789

8890

91+
func _try_migration():
92+
var version: int = _current_block_code_node.block_script.version
93+
if version == Constants.CURRENT_DATA_VERSION:
94+
# No migration needed.
95+
return
96+
push_warning("Migration not implemented from %d to %d" % [version, Constants.CURRENT_DATA_VERSION])
97+
98+
8999
func switch_scene(scene_root: Node):
90100
_title_bar.scene_selected(scene_root)
91101

@@ -94,6 +104,8 @@ func switch_block_code_node(block_code_node: BlockCode):
94104
var block_script: BlockScriptData = block_code_node.block_script if block_code_node else null
95105
_current_block_code_node = block_code_node
96106
_delete_node_button.disabled = _current_block_code_node == null
107+
if _current_block_code_node != null:
108+
_try_migration()
97109
_picker.bsd_selected(block_script)
98110
_title_bar.bsd_selected(block_script)
99111
_block_canvas.bsd_selected(block_script)
@@ -133,6 +145,7 @@ func save_script():
133145
var generated_script = _block_canvas.generate_script_from_current_window(block_script.script_inherits)
134146
block_script.block_trees = block_trees
135147
block_script.generated_script = generated_script
148+
block_script.version = Constants.CURRENT_DATA_VERSION
136149

137150
undo_redo.add_do_property(_current_block_code_node.block_script, "block_trees", block_trees)
138151
undo_redo.add_do_property(_current_block_code_node.block_script, "generated_script", generated_script)

0 commit comments

Comments
 (0)