Files
dota_factory/src/ui/MainWindow.h
2026-04-21 20:58:57 +02:00

42 lines
918 B
C++

#pragma once
#include <QWidget>
#include "GameConfig.h"
#include "Tick.h"
#include "VisualsConfig.h"
class Simulation;
class GameWorldView;
class HeaderBar;
class SelectedBuildingPanel;
class BuildButtonGrid;
class QResizeEvent;
class MainWindow : public QWidget
{
Q_OBJECT
public:
MainWindow(Simulation* sim, const GameConfig* config,
const VisualsConfig* visuals, QWidget* parent = nullptr);
protected:
void resizeEvent(QResizeEvent* event) override;
private slots:
void onGameOver();
void onStateUpdated(Tick tick, int blocks, double speed);
void onEscapeMenuRequested();
private:
void layoutPanels();
Simulation* m_sim;
GameWorldView* m_gameWorldView;
HeaderBar* m_headerBar;
SelectedBuildingPanel* m_selectedBuildingPanel;
BuildButtonGrid* m_buildButtonGrid;
QWidget* m_bottomPanel;
};