Alright so I had some time to tinker a little bit more with it.
- For my usecase which would probably be some kind of text adventure, this seems actually pretty ok to use. I don't know how unwieldy it gets if there's a ton of nodes.
- On node enter does a lot of heavy lifting since most logic has to happen there. This would also include all the checks for "player health < 5...."
- Branching is also possible with this by just adding a node that executes the branching logic on node enter and sends to the according next node
- Some way to switch from flowchart node to associated triggers and back wouldn't be the worst idea
One thing that I still think would be huge (this has been suggested already) are some kind of instance variables. 1. For the nodes themselves and 2. for each individual option. The current way to put extra data in is to add more outputs, even though the data is not an output. Imo this adds at the very least a bunch of visual clutter. It also has no way to associate the datapoints with the options. Something like "Option 1 has value 5 and Option 2 has value 10". I think this would fit in the properties bar just as it does for sprites. On the node, it could be hidden in some kind of dropdown, especially if you have many variables there.
And I think it fits perfectly in line with the idea of flowcharts just being a type of data object. With the classic variable options to set/add/toggle/ + expressions
FlowchartController.currentNode.variablename
FlowchartController.currentNode.option("foobar").variablename
Some other things I noted:
- Reset flowchart does not trigger "on (any) node enter" though this might be by design (?)
- I'd like to be able to resize nodes diagonally too. Right now it only allows horizontal or vertical.
- Is there a way to access data from a specific node from anywhere? I don't see a way with something like a UID. Basically like a tag except tags can be non-unique so that might be an issue.