All GraphNodes are hardcoded and all their fields are implemented by hand, even when it's for very simple things.
The problem is that the slightest change can very easily break everything, and is a pain in the ass every time.
The aim would therefore be to make the GraphNode code as simple as possible and put everything in the MonologueGraphNode class.
Currently, the way these changes have been made is that control nodes with the prefix "Field_" automatically become fields, which will be registered and monitored automatically.
The value of these nodes is automatically associated with a key in the name following the "Field_" prefix.
For example :
A LineEdit node with the name "Field_Sentence" will be linked to the "Sentence" field, and when loaded will take the value of the "Sentence" key. Each time the LineEdit changes, the value of "Sentence" will be updated. There's no need to specify that the "Sentence" key exists, as it will be created automatically.
All GraphNodes are hardcoded and all their fields are implemented by hand, even when it's for very simple things.
The problem is that the slightest change can very easily break everything, and is a pain in the ass every time.
The aim would therefore be to make the GraphNode code as simple as possible and put everything in the MonologueGraphNode class.
Currently, the way these changes have been made is that control nodes with the prefix "Field_" automatically become fields, which will be registered and monitored automatically.
The value of these nodes is automatically associated with a key in the name following the "Field_" prefix.
For example :
A LineEdit node with the name "Field_Sentence" will be linked to the "Sentence" field, and when loaded will take the value of the "Sentence" key. Each time the LineEdit changes, the value of "Sentence" will be updated. There's no need to specify that the "Sentence" key exists, as it will be created automatically.