I have pushed another commit regarding the handling of nonmodal dialogs,
which has changed quite a lot.
Many dialogs now derive from the NonModalDialog abstract class. All such
dialogs have a key (or name), which must be unique in the context of one
game.
That key is used to recognize the dialogs for postprocessing, rather than
the combination of dialog type and action type that was used so far in many
cases.
The keys should have a sensible name, so that recognition of which code
handles which dialog should now be much easier.
In particular a look at GameUIManager_18EU and GameUIManager should reveal
how it all works, and how different dialogs can be chained easily.
This mail is also intended to be a response to Martin's request to get a
hand to deal with his 1880 dialogs. Hopefully a look at the current code
will give him an easier start.
Erik
|