As timelines and events are just resources, you can create new timelines in code.
📜 Content
How do I create timelines via code?
Creating an empty timeline would look like this:
var timeline : DialogicTimeline = DialogicTimeline.new() Dialogic.start_timeline(timeline)
Of course, the timeline created here doesn't contain events yet. To add events, you can do two things:
- Create an array of event resources:
var events : Array = [] var text_event = DialogicTextEvent.new() text_event.text = "Hey, this was made in code!" text_event.character = load("res://characters/Emilio.dch") events.append(text_event) var timeline : DialogicTimeline = DialogicTimeline.new() timeline.events = events # if your events are already resources, you need to add this: timeline.events_processed = true Dialogic.start(timeline)
- Create an array of Strings:
var events : Array = """ Jowan (Surprised): Wow this is interesting! - Yes [background path="res://icon.png"] [wait seconds="1"] set MyAutoload.exitement += 20 - No set MyAutload.exitement -= 10 """.split('\n') var timeline : DialogicTimeline = DialogicTimeline.new() timeline.events = events Dialogic.start(timeline)
In this case, you have to follow the syntax explained in this tutorial.