const std::vector<std::unique_ptr<System>> &get_systems() const { return systems; }
template<typename T>
- T *get_system() const;
+ T *find_system() const;
void set_active_camera(Handle<Camera>);
Handle<Camera> get_active_camera() const { return active_camera; }
}
template<typename T>
-inline T *Stage::get_system() const
+inline T *Stage::find_system() const
{
for(const auto &s: systems)
if(T *ts = dynamic_cast<T *>(s.get()))
if(active_renderer)
active_renderer->cancel_output();
- active_renderer = event.stage.get_system<Renderer>();
+ active_renderer = event.stage.find_system<Renderer>();
if(!active_renderer)
systems.push_back(active_renderer = &event.stage.add_system<Renderer>());
- if(vr_system && !event.stage.get_system<MotionTracker>())
+ if(vr_system && !event.stage.find_system<MotionTracker>())
systems.push_back(&event.stage.add_system<MotionTracker>(*vr_tracking));
- if(event.stage.get_system<Game::Landscape>() && !event.stage.get_system<TerrainMeshCreator>())
+ if(event.stage.find_system<Game::Landscape>() && !event.stage.find_system<TerrainMeshCreator>())
systems.push_back(&event.stage.add_system<TerrainMeshCreator>());
if(active_renderer)