From 0e91fc6a8e14eebb5a89b260f66e5e74b42074bb Mon Sep 17 00:00:00 2001 From: Aki Date: Tue, 10 Jan 2023 00:57:41 +0100 Subject: Extracted ship loadout into own class --- campaign/src/scenarios.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'campaign/src') diff --git a/campaign/src/scenarios.cpp b/campaign/src/scenarios.cpp index dbd1f73..f32943f 100644 --- a/campaign/src/scenarios.cpp +++ b/campaign/src/scenarios.cpp @@ -1,5 +1,6 @@ #include +#include #include #include #include @@ -18,20 +19,18 @@ example(int teams, int anvils, int warbringers, int eclipses, double distance) { int id = 0; const auto repo = universe::load_json("resources/universe"); - const auto anvil = repo->ship_type("Anvil"); - const auto eclipse = repo->ship_type("Eclipse"); - const auto warbringer = repo->ship_type("Warbringer"); - const auto burst_laser = repo->turret_type("BurstLaser"); const auto charge_laser = repo->turret_type("ChargeLaser"); - const auto gauss_cannon = repo->turret_type("GaussCannon"); + const Loadout anvil{repo->ship_type("Anvil"), {charge_laser, repo->turret_type("GaussCannon")}}; + const Loadout eclipse{repo->ship_type("Eclipse"), {charge_laser}}; + const Loadout warbringer{repo->ship_type("Warbringer"), {repo->turret_type("BurstLaser")}}; Scenario scenario {"Example", distance, {}}; for (int team = 0; team < teams; ++team) { for (int i = 0; i < anvils; ++i) - scenario.ships.push_back(ShipConfig{{id++}, team, anvil, {charge_laser, gauss_cannon}}); + scenario.ships.push_back(ShipConfig{{id++}, team, anvil}); for (int i = 0; i < warbringers; ++i) - scenario.ships.push_back(ShipConfig{{id++}, team, warbringer, {burst_laser}}); + scenario.ships.push_back(ShipConfig{{id++}, team, warbringer}); for (int i = 0; i < eclipses; ++i) - scenario.ships.push_back(ShipConfig{{id++}, team, eclipse, {charge_laser}}); + scenario.ships.push_back(ShipConfig{{id++}, team, eclipse}); } return scenario; } -- cgit v1.1