Right now there is one asset file used to create a dialogue graph. It contains both the actors vector and the script actions vector.
The actions also contain the data needed to create the actual graph (ids and next ids), together with other data (the kind of action, actor, text...).
We could instead take a different approach and split this asset file into 3 assets.
Actors asset file that acts as a DB of the characters in a game
A file with just the dialogue lines without graph metadata.
It can be useful to build dialogue graphs procedurally. If we have just the pool of dialogue lines we can pick them and make a graph at runtime.
The dialogue lines should have some metadata so they can be grouped together, especially important to indicate which lines are player choices.
It is also useful to build graphs with just 1 node that can be added to game items as their description.
The graph file that operates just with the ids and puts together actors id, dialogue ids to form a node and connect them together.
The non-talk actions (such as Join and Leave) can be used here to indicate when an actor enters/exits the conversation.
Right now there is one asset file used to create a dialogue graph. It contains both the actors vector and the script actions vector. The actions also contain the data needed to create the actual graph (ids and next ids), together with other data (the kind of action, actor, text...).
We could instead take a different approach and split this asset file into 3 assets.
Actors asset file that acts as a DB of the characters in a game
A file with just the dialogue lines without graph metadata.
The graph file that operates just with the ids and puts together actors id, dialogue ids to form a node and connect them together.