diff -r 0135e64c6c66 -r c4fd2813b127 qmlfrontend/hwengine.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qmlfrontend/hwengine.cpp Wed Jul 31 23:14:27 2019 +0200 @@ -0,0 +1,70 @@ +#include "hwengine.h" + +#include +#include +#include + +#include "engine_instance.h" +#include "engine_interface.h" +#include "game_view.h" +#include "preview_acceptor.h" + +HWEngine::HWEngine(QObject* parent) : QObject(parent) {} + +HWEngine::~HWEngine() {} + +void HWEngine::getPreview() { + emit previewIsRendering(); + + m_gameConfig = GameConfig(); + m_gameConfig.cmdSeed(QUuid::createUuid().toByteArray()); + + EngineInstance engine(m_engineLibrary); + if (!engine.isValid()) // TODO: error notification + return; + + engine.sendConfig(m_gameConfig); + + QImage previewImage = engine.generatePreview(); + + if (m_previewAcceptor) m_previewAcceptor->setImage(previewImage); + + emit previewImageChanged(); + // m_runQueue->queue(m_gameConfig); +} + +EngineInstance* HWEngine::runQuickGame() { + m_gameConfig.cmdTheme("Nature"); + Team team1; + team1.name = "team1"; + Team team2; + team2.name = "team2"; + team2.color = "7654321"; + m_gameConfig.cmdTeam(team1); + m_gameConfig.cmdTeam(team2); + + EngineInstance* engine = new EngineInstance(m_engineLibrary, this); + + return engine; + // m_runQueue->queue(m_gameConfig); +} + +int HWEngine::previewHedgehogsCount() const { return m_previewHedgehogsCount; } + +PreviewAcceptor* HWEngine::previewAcceptor() const { return m_previewAcceptor; } + +QString HWEngine::engineLibrary() const { return m_engineLibrary; } + +void HWEngine::setPreviewAcceptor(PreviewAcceptor* previewAcceptor) { + if (m_previewAcceptor == previewAcceptor) return; + + m_previewAcceptor = previewAcceptor; + emit previewAcceptorChanged(m_previewAcceptor); +} + +void HWEngine::setEngineLibrary(const QString& engineLibrary) { + if (m_engineLibrary == engineLibrary) return; + + m_engineLibrary = engineLibrary; + emit engineLibraryChanged(m_engineLibrary); +}