summaryrefslogtreecommitdiff
path: root/campaign/src
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2023-01-10 00:57:41 +0100
committerAki <please@ignore.pl>2023-01-10 00:57:41 +0100
commit0e91fc6a8e14eebb5a89b260f66e5e74b42074bb (patch)
treeea98c193cd2822ed0ecadfbffc91b10c43792d4d /campaign/src
parent9d752200d3412eeea70327d8f544877bafc5b6d2 (diff)
downloadkurator-0e91fc6a8e14eebb5a89b260f66e5e74b42074bb.zip
kurator-0e91fc6a8e14eebb5a89b260f66e5e74b42074bb.tar.gz
kurator-0e91fc6a8e14eebb5a89b260f66e5e74b42074bb.tar.bz2
Extracted ship loadout into own class
Diffstat (limited to 'campaign/src')
-rw-r--r--campaign/src/scenarios.cpp15
1 files changed, 7 insertions, 8 deletions
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 <kurator/campaign/scenarios.h>
+#include <kurator/campaign/Loadout.h>
#include <kurator/campaign/Scenario.h>
#include <kurator/campaign/ShipConfig.h>
#include <kurator/universe.h>
@@ -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;
}