void IApp::StartBackgroundParsing() { const auto& rdir = GetResourceDir(); GetBuildingTypeManager().SetBuildingTypes(Pending::StartParsing(parse::buildings, rdir / "scripting/buildings")); GetEncyclopedia().SetArticles(Pending::StartParsing(parse::encyclopedia_articles, rdir / "scripting/encyclopedia")); GetFieldTypeManager().SetFieldTypes(Pending::StartParsing(parse::fields, rdir / "scripting/fields")); GetSpecialsManager().SetSpecialsTypes(Pending::StartParsing(parse::specials, rdir / "scripting/specials")); GetSpeciesManager().SetSpeciesTypes(Pending::StartParsing(parse::species, rdir / "scripting/species")); GetPartTypeManager().SetPartTypes(Pending::StartParsing(parse::ship_parts, rdir / "scripting/ship_parts")); GetHullTypeManager().SetHullTypes(Pending::StartParsing(parse::ship_hulls, rdir / "scripting/ship_hulls")); GetPredefinedShipDesignManager().SetShipDesignTypes( Pending::StartParsing(parse::ship_designs, rdir / "scripting/ship_designs")); GetPredefinedShipDesignManager().SetMonsterDesignTypes( Pending::StartParsing(parse::ship_designs, rdir / "scripting/monster_designs")); GetGameRules().Add(Pending::StartParsing(parse::game_rules, rdir / "scripting/game_rules.focs.txt")); GetTechManager().SetTechs(Pending::StartParsing(parse::techs<TechManager::TechParseTuple>, rdir / "scripting/techs")); InitEmpireColors(rdir / "empire_colors.xml"); }
std::vector<std::string> SpecialNames() { return GetSpecialsManager().SpecialNames(); }
const Special* GetSpecial(const std::string& name) { return GetSpecialsManager().GetSpecial(name); }