equal
deleted
inserted
replaced
43 void GameView::setEngineInstance(EngineInstance* engineInstance) { |
43 void GameView::setEngineInstance(EngineInstance* engineInstance) { |
44 if (m_engineInstance == engineInstance) return; |
44 if (m_engineInstance == engineInstance) return; |
45 |
45 |
46 cleanup(); |
46 cleanup(); |
47 m_engineInstance = engineInstance; |
47 m_engineInstance = engineInstance; |
48 engineInstance->setOpenGLContext(window()->openglContext()); |
48 |
49 emit engineInstanceChanged(m_engineInstance); |
49 emit engineInstanceChanged(m_engineInstance); |
50 } |
50 } |
51 |
51 |
52 void GameView::sync() { |
52 void GameView::sync() { |
53 if (!m_renderer) { |
53 if (!m_renderer && m_engineInstance) { |
|
54 m_engineInstance->setOpenGLContext(window()->openglContext()); |
54 m_renderer.reset(new GameViewRenderer()); |
55 m_renderer.reset(new GameViewRenderer()); |
|
56 m_renderer->setEngineInstance(m_engineInstance); |
55 connect(window(), &QQuickWindow::beforeRendering, m_renderer.data(), |
57 connect(window(), &QQuickWindow::beforeRendering, m_renderer.data(), |
56 &GameViewRenderer::paint, Qt::DirectConnection); |
58 &GameViewRenderer::paint, Qt::DirectConnection); |
57 } |
59 } |
58 |
60 |
59 if (m_windowChanged) { |
61 if (m_windowChanged) { |
66 // QPoint mousePos = mapFromGlobal(QCursor::pos()).toPoint(); |
68 // QPoint mousePos = mapFromGlobal(QCursor::pos()).toPoint(); |
67 // if (flibUpdateMousePosition(m_centerX, m_centerY, mousePos.x(), |
69 // if (flibUpdateMousePosition(m_centerX, m_centerY, mousePos.x(), |
68 // mousePos.y())) |
70 // mousePos.y())) |
69 // QCursor::setPos(mapToGlobal(QPointF(m_centerX, m_centerY)).toPoint()); |
71 // QCursor::setPos(mapToGlobal(QPointF(m_centerX, m_centerY)).toPoint()); |
70 |
72 |
71 m_renderer->tick(m_delta); |
73 if (m_renderer) m_renderer->tick(m_delta); |
72 } |
74 } |
73 |
75 |
74 GameViewRenderer::GameViewRenderer() |
76 GameViewRenderer::GameViewRenderer() |
75 : QObject(), m_delta(0), m_engineInstance(nullptr) {} |
77 : QObject(), m_delta(0), m_engineInstance(nullptr) {} |
76 |
78 |