Skip to content

Commit 8f4de8a

Browse files
Variable fixes (#2240)
* Fix variable String assignment * Add logic to prevent "Variable renamed" warning on new variables
1 parent f4aa44e commit 8f4de8a

File tree

2 files changed

+22
-7
lines changed

2 files changed

+22
-7
lines changed

addons/dialogic/Modules/Variable/event_variable.gd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ func _execute() -> void:
7979
if value != null and (original_value != null or (operation == Operations.SET and "[" in name)):
8080

8181
var interpreted_value: Variant
82-
var result: float
82+
var result: Variant
8383

8484
match _value_type:
8585
VarValueType.STRING:

addons/dialogic/Modules/Variable/variables_editor/variable_tree.gd

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func _ready() -> void:
2929

3030
#region POPULATING THE TREE
3131

32-
func load_info(dict:Dictionary, parent:TreeItem = null) -> void:
32+
func load_info(dict:Dictionary, parent:TreeItem = null, is_new:=false) -> void:
3333
if parent == null:
3434
clear()
3535
parent = add_folder_item("VAR", null)
@@ -38,12 +38,16 @@ func load_info(dict:Dictionary, parent:TreeItem = null) -> void:
3838
sorted_keys.sort()
3939
for key in sorted_keys:
4040
if typeof(dict[key]) != TYPE_DICTIONARY:
41-
add_variable_item(key, dict[key], parent)
41+
var item := add_variable_item(key, dict[key], parent)
42+
if is_new:
43+
item.set_meta("new", true)
4244

4345
for key in sorted_keys:
4446
if typeof(dict[key]) == TYPE_DICTIONARY:
4547
var folder := add_folder_item(key, parent)
46-
load_info(dict[key], folder)
48+
if is_new:
49+
folder.set_meta("new", true)
50+
load_info(dict[key], folder, is_new)
4751

4852

4953

@@ -117,17 +121,21 @@ func get_variable_item_default(item:TreeItem) -> Variant:
117121
func _on_button_clicked(item: TreeItem, column: int, id: int, mouse_button_index: int) -> void:
118122
match id:
119123
TreeButtons.ADD_FOLDER:
120-
add_folder_item("Folder", item).select(0)
124+
var new_item := add_folder_item("Folder", item)
125+
new_item.select(0)
126+
new_item.set_meta("new", true)
121127
await get_tree().process_frame
122128
edit_selected()
123129
TreeButtons.ADD_VARIABLE:
124-
add_variable_item("Var", "", item).select(0)
130+
var new_item := add_variable_item("Var", "", item)
131+
new_item.select(0)
132+
new_item.set_meta("new", true)
125133
await get_tree().process_frame
126134
edit_selected()
127135
TreeButtons.DELETE:
128136
item.free()
129137
TreeButtons.DUPLICATE_FOLDER:
130-
load_info({item.get_text(0)+"(copy)":get_info(item)}, item.get_parent())
138+
load_info({item.get_text(0)+"(copy)":get_info(item)}, item.get_parent(), true)
131139
TreeButtons.CHANGE_TYPE:
132140
%ChangeTypePopup.show()
133141
%ChangeTypePopup.set_meta('item', item)
@@ -276,9 +284,13 @@ func _drop_data(position:Vector2, item:Variant) -> void:
276284
"VARIABLE":
277285
new_item = add_variable_item(item.get_text(0), item.get_metadata(2), parent)
278286
new_item.set_meta('prev_path', get_item_path(item))
287+
if item.get_meta("new", false):
288+
new_item.set_meta("new", true)
279289
"FOLDER":
280290
new_item = add_folder_item(item.get_text(0), parent)
281291
load_info(get_info(item), new_item)
292+
if item.get_meta("new", false):
293+
new_item.set_meta("new", true)
282294

283295
# If this was dropped on a variable (or the root node)
284296
if to_item != parent:
@@ -298,8 +310,11 @@ func _drop_data(position:Vector2, item:Variant) -> void:
298310
################################################################################
299311

300312
func report_name_changes(item:TreeItem) -> void:
313+
301314
match item.get_meta('type'):
302315
"VARIABLE":
316+
if item.get_meta("new", false):
317+
return
303318
var new_path := get_item_path(item)
304319
editor.variable_renamed(item.get_meta('prev_path'), new_path)
305320
item.set_meta('prev_path', new_path)

0 commit comments

Comments
 (0)