#include <msp/game/root.h>
#include <msp/game/stage.h>
#include <msp/game/transform.h>
-#include <msp/game/transformpropagator.h>
#include "controls.h"
#include "damagedealer.h"
#include "gamecontroller.h"
game_stage.add_system<GameController>();
game_stage.add_system<Physics>();
game_stage.add_system<DamageDealer>();
- game_stage.add_system<Game::TransformPropagator>();
player_controller = &game_stage.add_system<PlayerController>();
event_observer.observe<GameView::Events::PlayerArrived>([this](auto &e){ player_arrived(e); });
#include "component.h"
#include "entity.h"
#include "stage.h"
+#include "transformpropagator.h"
using namespace std;
Stage &Director::create_stage()
{
- stages.emplace_back(std::make_unique<Stage>(std::ref(reflector), std::ref(resources)));
- event_source.emit<Events::StageCreated>(std::ref(*stages.back()));
- return *stages.back();
+ Stage &stage = *stages.emplace_back(std::make_unique<Stage>(std::ref(reflector), std::ref(resources)));
+ stage.add_system<TransformPropagator>();
+ event_source.emit<Events::StageCreated>(std::ref(stage));
+ return stage;
}
void Director::activate_stage(Stage &s)