51 lines
1.5 KiB
GDScript
Executable File
51 lines
1.5 KiB
GDScript
Executable File
extends Node
|
|
|
|
# Test script for the new dependency-based cutscene system
|
|
|
|
func _ready():
|
|
# Create a simple test cutscene
|
|
_test_dependency_system()
|
|
|
|
func _test_dependency_system():
|
|
print("Testing dependency-based cutscene system")
|
|
|
|
# Create cutscene manager
|
|
var cutscene_manager = CutsceneManager.new()
|
|
add_child(cutscene_manager)
|
|
|
|
# Create some test actions
|
|
var wait1 = preload("res://cutscene/actions/WaitAction.gd").new(1.0)
|
|
wait1.name = "Wait1"
|
|
|
|
var wait2 = preload("res://cutscene/actions/WaitAction.gd").new(2.0)
|
|
wait2.name = "Wait2"
|
|
|
|
var wait3 = preload("res://cutscene/actions/WaitAction.gd").new(1.5)
|
|
wait3.name = "Wait3"
|
|
|
|
# Add actions with dependencies
|
|
# wait1 and wait2 can run in parallel (no dependencies)
|
|
# wait3 depends on wait1
|
|
cutscene_manager.add_action("wait1", wait1, [])
|
|
cutscene_manager.add_action("wait2", wait2, [])
|
|
cutscene_manager.add_action("wait3", wait3, ["wait1"])
|
|
|
|
# Connect to signals
|
|
cutscene_manager.connect("cutscene_completed", _on_cutscene_completed)
|
|
cutscene_manager.connect("action_started", _on_action_started)
|
|
cutscene_manager.connect("action_completed", _on_action_completed)
|
|
|
|
# Start the cutscene
|
|
cutscene_manager.start()
|
|
|
|
print("Cutscene started with dependency-based execution")
|
|
|
|
func _on_cutscene_completed():
|
|
print("Cutscene completed successfully!")
|
|
|
|
func _on_action_started(action):
|
|
print("Action started: %s" % action.name)
|
|
|
|
func _on_action_completed(action):
|
|
print("Action completed: %s" % action.name)
|