41 const bool have_campaign_options = std::any_of(campaign_mods.begin(), campaign_mods.end(), [](
config& mod) {
46 bool have_mod_options =
false;
49 if(!(*mod->cfg).has_child(
"options")) {
53 const auto& opt_range = (*mod->cfg).child_range(
"options");
55 if(std::any_of(opt_range.begin(), opt_range.end(), [](
const config&
options) {
58 have_mod_options =
true;
64 if(!have_campaign_options && !have_mod_options) {
72 virtual const std::string&
window_id()
const override;
76 virtual void post_show(window& window)
override;
child_itors child_range(config_key_type key)
const config & data() const
std::vector< extras_metadata_ptr > active_mods_data()
level & current_level() const
Abstract base class for all modal dialogs.
A config object defines a single node in a WML file, with access to child nodes.
base class of top level items, the only item which needs to store the final canvases to draw on...