cutscene progress.

This commit is contained in:
2025-08-01 16:06:32 -07:00
parent 44d3f10875
commit 90be9ae6b3
34 changed files with 209 additions and 281 deletions

19
addons/cutscene_editor/editor/CutsceneGraphEdit.gd Executable file → Normal file
View File

@@ -85,7 +85,6 @@ func add_node(node_type: String, position: Vector2) -> BaseGraphNode:
# Emit signal
emit_signal("node_added", new_node)
emit_signal("graph_changed")
return new_node
# Handle connection requests
@@ -349,6 +348,7 @@ func load_from_cutscene(cutscene: CutsceneResource) -> void:
# Set node parameters
for param_name in node_data["parameters"]:
node.set_parameter(param_name, node_data["parameters"][param_name])
node._parameters_to_view()
# Create connections from cutscene data
for connection_data in cutscene.connections:
@@ -356,6 +356,7 @@ func load_from_cutscene(cutscene: CutsceneResource) -> void:
connect_node(connection_data["from_node"], connection_data["from_port"],
connection_data["to_node"], connection_data["to_port"])
# Emit signal
emit_signal("graph_changed")
@@ -372,7 +373,7 @@ func save_to_cutscene() -> CutsceneResource:
for child in get_children():
if child is BaseGraphNode:
var node_data = {
"id": str(child.name),
"id": str(child.node_id),
"type": child.node_type,
"position": {
"x": child.position_offset.x,
@@ -380,15 +381,25 @@ func save_to_cutscene() -> CutsceneResource:
},
"parameters": child.action_parameters
}
print(node_data)
current_cutscene.nodes.append(node_data)
# Save connections
for connection in get_connection_list():
# Get actual node instances from node names to access node_id
var from_node_instance = get_node_or_null(str(connection["from_node"]))
var to_node_instance = get_node_or_null(str(connection["to_node"]))
# Skip if nodes don't exist (shouldn't happen, but safety check)
if not from_node_instance or not to_node_instance:
continue
var connection_data = {
"id": _generate_unique_connection_id(),
"from_node": str(connection["from_node"]),
"from_node": str(from_node_instance.node_id),
"from_port": connection["from_port"],
"to_node": str(connection["to_node"]),
"to_node": str(to_node_instance.node_id),
"to_port": connection["to_port"]
}
current_cutscene.connections.append(connection_data)