diff options
author | Aki <please@ignore.pl> | 2023-02-14 00:13:02 +0100 |
---|---|---|
committer | Aki <please@ignore.pl> | 2023-02-14 00:28:48 +0100 |
commit | 632c367ae6885657e6c99b96b8bf7a96b61a2bb9 (patch) | |
tree | 3b6210086d2c082533288d06f2843b9150e747dd /sim/src/sim.cpp | |
parent | 2a9f378c66b28cef1c5ee063cf4d7e4e2889076e (diff) | |
download | kurator-632c367ae6885657e6c99b96b8bf7a96b61a2bb9.zip kurator-632c367ae6885657e6c99b96b8bf7a96b61a2bb9.tar.gz kurator-632c367ae6885657e6c99b96b8bf7a96b61a2bb9.tar.bz2 |
Extracted basic simulation behaviour and that part of state to own class
Diffstat (limited to 'sim/src/sim.cpp')
-rw-r--r-- | sim/src/sim.cpp | 15 |
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}; } |