| 1234567891011121314151617181920212223242526272829303132333435 |
- /*
- * author: Patrick-Christopher Mattulat
- * e-mail: webmaster@lynarstudios.com
- */
- #include <cycle/Engine.hpp>
- #include <factory/WindowApiFactory.hpp>
- 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<EngineRuntimeData>()),
- parameter(_parameter)
- {}
- Engine::~Engine() = default;
- shared_ptr<EngineRuntimeData> Engine::getData() const
- {
- return this->data;
- }
- shared_ptr<AStatusCode> Engine::init()
- {
- const auto windowApi = WindowApiFactory::build(this->parameter.getWindowApiType());
- this->data->setWindowApi(windowApi);
- return windowApi->init();
- }
|