This commit is contained in:
2025-07-31 18:00:00 -07:00
parent 2be97ea27c
commit 15f11fc0f3
22 changed files with 725 additions and 516 deletions

View File

@@ -289,7 +289,7 @@ func _on_graph_node_deleted(node: BaseGraphNode) -> void:
# Remove all connections to/from this node
var connections = get_connection_list()
for connection in connections:
if connection["from_node"] == node.name or connection["to_node"] == node.name:
if connection["from_node"] == node.node_id or connection["to_node"] == node.node_id:
disconnect_node(connection["from_node"], connection["from_port"], connection["to_node"], connection["to_port"])
@@ -342,16 +342,16 @@ func load_from_cutscene(cutscene: CutsceneResource) -> void:
# Create nodes from cutscene data
for node_data in cutscene.nodes:
var node = add_node(node_data["type"], Vector2(node_data["x"], node_data["y"]))
var node = add_node(node_data["type"], Vector2(node_data["position"]["x"], node_data["position"]["y"]))
if node:
node.name = node_data["name"]
node.node_id = node_data["id"]
# Set node parameters
for param_name in node_data["parameters"]:
node.set_parameter(param_name, node_data["parameters"][param_name])
# Create connections from cutscene data
for connection_data in cutscene.connections:
connect_node(connection_data["from_node"], connection_data["from_port"],
connect_node(connection_data["from_node"], connection_data["from_port"],
connection_data["to_node"], connection_data["to_port"])
# Emit signal
@@ -370,10 +370,12 @@ func save_to_cutscene() -> CutsceneResource:
for child in get_children():
if child is BaseGraphNode:
var node_data = {
"name": child.name,
"id": child.node_id,
"type": child.node_type,
"x": child.position_offset.x,
"y": child.position_offset.y,
"position": {
"x": child.position_offset.x,
"y": child.position_offset.y
},
"parameters": child.action_parameters
}
current_cutscene.nodes.append(node_data)
@@ -381,6 +383,7 @@ func save_to_cutscene() -> CutsceneResource:
# Save connections
for connection in get_connection_list():
var connection_data = {
"id": _generate_unique_connection_id(),
"from_node": connection["from_node"],
"from_port": connection["from_port"],
"to_node": connection["to_node"],
@@ -390,6 +393,10 @@ func save_to_cutscene() -> CutsceneResource:
return current_cutscene
# Generate a unique ID for connections
func _generate_unique_connection_id() -> String:
return "conn_" + str(Time.get_ticks_msec())
# Set up preview system
func setup_preview() -> void: