]> git.tdb.fi Git - libs/game.git/blobdiff - source/game/stage.cpp
Add a function to remove a system from a stage
[libs/game.git] / source / game / stage.cpp
index 8d781f28961fc77da688b640c9c579a44c9b4a28..0eb4238fcff375709404b00e52061730e0694cae 100644 (file)
@@ -4,7 +4,8 @@
 
 namespace Msp::Game {
 
-Stage::Stage():
+Stage::Stage(DataFile::Collection &r):
+       resources(r),
        event_source(event_bus),
        root(std::make_unique<Root>(*this))
 { }
@@ -13,6 +14,11 @@ Stage::Stage():
 Stage::~Stage()
 { }
 
+void Stage::remove_system(System &s)
+{
+       erase_if(systems, [&s](auto &p){ return p.get()==&s; });
+}
+
 void Stage::tick(Time::TimeDelta dt)
 {
        for(const auto &s: systems)