qmlfrontend/hwengine.cpp
branchhedgeroid
changeset 15515 7030706266df
parent 14378 4409344db447
equal deleted inserted replaced
7861:bc7b6aa5d67a 15515:7030706266df
       
     1 #include "hwengine.h"
       
     2 
       
     3 #include <QDebug>
       
     4 #include <QImage>
       
     5 #include <QUuid>
       
     6 
       
     7 #include "engine_instance.h"
       
     8 #include "engine_interface.h"
       
     9 #include "game_view.h"
       
    10 #include "preview_acceptor.h"
       
    11 
       
    12 HWEngine::HWEngine(QObject* parent) : QObject(parent) {}
       
    13 
       
    14 HWEngine::~HWEngine() {}
       
    15 
       
    16 void HWEngine::getPreview() {
       
    17   emit previewIsRendering();
       
    18 
       
    19   m_gameConfig = GameConfig();
       
    20   m_gameConfig.cmdSeed(QUuid::createUuid().toByteArray());
       
    21 
       
    22   EngineInstance engine(m_engineLibrary);
       
    23   if (!engine.isValid())  // TODO: error notification
       
    24     return;
       
    25 
       
    26   engine.sendConfig(m_gameConfig);
       
    27 
       
    28   QImage previewImage = engine.generatePreview();
       
    29 
       
    30   if (m_previewAcceptor) m_previewAcceptor->setImage(previewImage);
       
    31 
       
    32   emit previewImageChanged();
       
    33   // m_runQueue->queue(m_gameConfig);
       
    34 }
       
    35 
       
    36 EngineInstance* HWEngine::runQuickGame() {
       
    37   m_gameConfig.cmdTheme("Nature");
       
    38   Team team1;
       
    39   team1.name = "team1";
       
    40   Team team2;
       
    41   team2.name = "team2";
       
    42   team2.color = "7654321";
       
    43   m_gameConfig.cmdTeam(team1);
       
    44   m_gameConfig.cmdTeam(team2);
       
    45 
       
    46   EngineInstance* engine = new EngineInstance(m_engineLibrary, this);
       
    47 
       
    48   return engine;
       
    49   // m_runQueue->queue(m_gameConfig);
       
    50 }
       
    51 
       
    52 int HWEngine::previewHedgehogsCount() const { return m_previewHedgehogsCount; }
       
    53 
       
    54 PreviewAcceptor* HWEngine::previewAcceptor() const { return m_previewAcceptor; }
       
    55 
       
    56 QString HWEngine::engineLibrary() const { return m_engineLibrary; }
       
    57 
       
    58 void HWEngine::setPreviewAcceptor(PreviewAcceptor* previewAcceptor) {
       
    59   if (m_previewAcceptor == previewAcceptor) return;
       
    60 
       
    61   m_previewAcceptor = previewAcceptor;
       
    62   emit previewAcceptorChanged(m_previewAcceptor);
       
    63 }
       
    64 
       
    65 void HWEngine::setEngineLibrary(const QString& engineLibrary) {
       
    66   if (m_engineLibrary == engineLibrary) return;
       
    67 
       
    68   m_engineLibrary = engineLibrary;
       
    69   emit engineLibraryChanged(m_engineLibrary);
       
    70 }