config tod_manager::to_config() const { config cfg; cfg["turn_at"] = turn_; cfg["turns"] = num_turns_; cfg["current_time"] = currentTime_; cfg["random_start_time"] = random_tod_; std::vector<time_of_day>::const_iterator t; for(t = times_.begin(); t != times_.end(); ++t) { t->write(cfg.add_child("time")); } for(std::vector<area_time_of_day>::const_iterator i = areas_.begin(); i != areas_.end(); ++i) { config& area = cfg.add_child("time_area"); // if no ranges, then use hexes to generate ranges if(i->xsrc.empty() && i->ysrc.empty()) { write_location_range(i->hexes, area); } else { area["x"] = i->xsrc; area["y"] = i->ysrc; } for(t = i->times.begin(); t != i->times.end(); ++t) { t->write(area.add_child("time")); } area["current_time"] = i->currentTime; if (!i->id.empty()) area["id"] = i->id; } return cfg; }
void team::write(config& cfg) const { info_.write(cfg); cfg["auto_shroud"] = auto_shroud_updates_; cfg["shroud"] = uses_shroud(); cfg["fog"] = uses_fog(); cfg["gold"] = gold_; // Write village locations for(const map_location& loc : villages_) { loc.write(cfg.add_child("village")); } cfg["shroud_data"] = shroud_.write(); cfg["fog_data"] = fog_.write(); if(!fog_clearer_.empty()) write_location_range(fog_clearer_, cfg.add_child("fog_override")); cfg["countdown_time"] = countdown_time_; cfg["action_bonus_count"] = action_bonus_count_; }
void team::write(config& cfg) const { info_.write(cfg); cfg["auto_shroud"] = auto_shroud_updates_; cfg["shroud"] = uses_shroud(); cfg["fog"] = uses_fog(); cfg["gold"] = gold_; // Write village locations for(std::set<map_location>::const_iterator t = villages_.begin(); t != villages_.end(); ++t) { t->write(cfg.add_child("village")); } cfg["shroud_data"] = shroud_.write(); cfg["fog_data"] = fog_.write(); if ( !fog_clearer_.empty() ) write_location_range(fog_clearer_, cfg.add_child("fog_override")); cfg["countdown_time"] = countdown_time_; cfg["action_bonus_count"] = action_bonus_count_; }