X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgame%2Fdirector.cpp;h=28d86e7d142e23142839e186b8b4613c6299d8f6;hb=f90804b7a1042a1266cbe3075631e4fcc18b9a8a;hp=741965bc290988a7f73210bf453d5cb081533f98;hpb=c809f54b802727926bae40e9fe67d0e3c94fd2c0;p=libs%2Fgame.git diff --git a/source/game/director.cpp b/source/game/director.cpp index 741965b..28d86e7 100644 --- a/source/game/director.cpp +++ b/source/game/director.cpp @@ -7,12 +7,25 @@ using namespace std; namespace Msp::Game { +Director::Director(): + event_source(event_bus) +{ } + Stage &Director::create_stage() { stages.emplace_back(std::make_unique()); + event_source.emit(std::ref(*stages.back())); return *stages.back(); } +void Director::activate_stage(Stage &s) +{ + if(active_stage) + event_source.emit(std::ref(s)); + active_stage = &s; + event_source.emit(std::ref(s)); +} + void Director::tick() { Time::TimeStamp now = Time::now();