/* * author: Patrick-Christopher Mattulat * e-mail: webmaster@lynarstudios.com */ #include #include using ls::atlantis::cycle::Engine; using ls::atlantis::cycle::EngineParameter; using ls::atlantis::cycle::EngineRuntimeData; using ls::atlantis::factory::WindowApiFactory; using ls::atlantis::interfaces::AStatusCode; using ::std::make_shared; using ::std::shared_ptr; Engine::Engine(const EngineParameter &_parameter) : data(make_shared()), parameter(_parameter) {} Engine::~Engine() = default; shared_ptr Engine::getData() const { return this->data; } shared_ptr Engine::init() { const auto windowApi = WindowApiFactory::build(this->parameter.getWindowApiType()); this->data->setWindowApi(windowApi); return windowApi->init(); }