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

46 lines
1017 B
C++

#pragma once
#include <string>
#include <QWidget>
#include "Tick.h"
#include "VisualsConfig.h"
class Simulation;
class GameWorldView;
class HeaderBar;
class SelectedBuildingPanel;
class BuildButtonGrid;
class BlueprintPanel;
class QResizeEvent;
class MainWindow : public QWidget
{
Q_OBJECT
public:
MainWindow(Simulation* sim, const std::string& configDir, 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();
std::string m_configDir;
VisualsConfig m_visuals;
Simulation* m_sim;
GameWorldView* m_gameWorldView;
HeaderBar* m_headerBar;
SelectedBuildingPanel* m_selectedBuildingPanel;
BuildButtonGrid* m_buildButtonGrid;
BlueprintPanel* m_blueprintPanel;
QWidget* m_bottomPanel;
};