#include "SampleRepository.h" #include #include #include #include #include #include #include namespace kurator { namespace universe { static const std::map ships { {"Anvil", {"Anvil", 600.0, 218.0}}, {"Eclipse", {"Eclipse", 600.0, 263.0}}, {"Warbringer", {"Warbringer", 600.0, 336.0}}, }; static const std::map turrets { {"ChargeLaser", {"ChargeLaser", 1, 85.0, 4.5, 0.0, 7000.0, 0.05}}, {"BurstLaser", {"BurstLaser", 3, 21.0, 0.25, 2.75, 3500.0, 0.05}}, {"GaussCannon", {"GaussCannon", 2, 55.0, 0.0, 5.5, 12000.0, 0.2}}, }; ShipType SampleRepository::ship_type(const std::string& id) const try { return ships.at(id); } catch (const std::out_of_range&) { throw NotFound(id); } TurretType SampleRepository::turret_type(const std::string& id) const try { return turrets.at(id); } catch (const std::out_of_range&) { throw NotFound(id); } void SampleRepository::for_ship_types(std::function func) const { for (const auto& [_, type] : ships) func(type); } void SampleRepository::for_turret_types(std::function func) const { for (const auto& [_, type] : turrets) func(type); } } // namespace universe } // namespace kurator