|
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 } |