summaryrefslogtreecommitdiff
path: root/sim/src/sim.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sim/src/sim.cpp')
-rw-r--r--sim/src/sim.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/sim/src/sim.cpp b/sim/src/sim.cpp
index f915d20..4cb7467 100644
--- a/sim/src/sim.cpp
+++ b/sim/src/sim.cpp
@@ -3,8 +3,10 @@
#include <kurator/campaign/Scenario.h>
#include <kurator/sim/components.h>
#include <kurator/sim/State.h>
+#include <kurator/sim/System.h>
#include <kurator/universe/UniqueIdentifier.h>
+#include "BaseSimulation.h"
#include "Builder.h"
#include "RandomSpawner.h"
@@ -15,9 +17,10 @@ namespace sim
{
-void
-load_scenario(State& ctx, const campaign::Scenario& scenario)
+State
+load_scenario(const campaign::Scenario& scenario)
{
+ State ctx {};
RandomSpawner spawner {scenario.last_team(), scenario.radius, 0.1};
Builder build {ctx.registry, spawner};
for (const auto& ship : scenario.ships) {
@@ -29,6 +32,14 @@ load_scenario(State& ctx, const campaign::Scenario& scenario)
state.keep_at_range = std::min(state.keep_at_range, turret_type.optimal_range);
}
}
+ return ctx;
+}
+
+
+System
+base_simulation_systems(State& ctx)
+{
+ return BaseSimulation{ctx};
}