One_Eleven_Android/addons/dialogic/Nodes/DialogProxy.gd
2024-11-10 03:34:28 +03:00

50 lines
1.2 KiB
GDScript

extends Control
export (String, "TimelineDropdown") var timeline:String
export (bool) var add_canvas = true
export (bool) var reset_saves = true
func _ready():
if reset_saves:
Dialogic.reset_saves()
var d = Dialogic.start(timeline, "", "res://addons/dialogic/Nodes/DialogNode.tscn", add_canvas)
get_parent().call_deferred("add_child", d)
_copy_signals(d if not add_canvas else d.dialog_node)
queue_free()
func _copy_signals(dialogic:Node):
var sigs = self.get_signal_list()
for s in sigs:
if not s["name"] in _signals_to_copy:
continue
if not dialogic.has_signal(s["name"]):
print("Cannot copy connections of signal " + s["name"] + " from " + self.to_string() + " to " + dialogic.to_string())
continue
var conns = self.get_signal_connection_list(s["name"])
for c in conns:
dialogic.connect(c["signal"], c["target"], c["method"], c["binds"], c["flags"])
var _signals_to_copy = [
"event_start",
"event_end",
"text_complete",
"timeline_start",
"timeline_end",
"dialogic_signal"
]
signal event_start(type, event)
signal event_end(type)
signal text_complete(text_data)
signal timeline_start(timeline_name)
signal timeline_end(timeline_name)
signal dialogic_signal(value)