The onNodeFinish event is a counterpart to onNodeStart.
This also fixes a small bug where node visit count was not properly incremented if the node was exited via a <<stop>>.
The DialogueRunner.runNode() method renamed into startDialogue().
Class UserDefinedCommand now exposes argumentString and arguments properties, allowing them to be queried in a DialogueView;
Make sure the arguments of a user-defined command are computed only once per invocation;
Added documentation for user-defined commands;
addDialogueCommand renamed into addOrphanedCommand.
This PR expands the functionality of RenderableTileMap to include support for more than just simple TileLayer layers. Adding support for:
ImageLayer rendering (note that tiled.dart was loading non-tile layers in the incorrect order until 0.8.4)
layer parallaxX / parallaxY
layer opacity
map backgroundColor
tiled dependency
This PR relies on changes and bug fixes in tiled.dart 0.8.4
Migration notes
The entire contact callback process has been redefined to mimic Flame's CollisionCallbacks.
In order to simplify the migration to this new code, the following steps should facilitate doing so:
Remove lines of code that used addContactCallback, removeContactCallback, clearContactCallback.
Remove subclasses of ContactCallbacks<Type1, Type2>.
2.1. Include with ContactCallback in your BodyComponent class signature.
2.2. Override the contact method that you are interested in, and check that other is Type2, then perform the logic.
The above is just a suggested migration approach. There are other code alternatives or patterns you might want to follow. In addition, you can define your own custom contact logic by providing a ContactListener to your Forge2DGame.
For more information check the examples, Flame documentation, or the class documentation of ContactCallbacks and WorldContactListener.