switch to using own event system

This commit is contained in:
2026-06-13 17:42:16 +02:00
parent ed17664ef1
commit 5317f35198
49 changed files with 611 additions and 300 deletions

View File

@@ -10,15 +10,22 @@
#include <QTimer>
#include <QWidget>
#include "ArenaInspectRequestedEvent.h"
#include "ArenaStartRequestedEvent.h"
#include "ArenaWidget.h"
#include "ArenaSimulation.h"
#include "BalancingConfig.h"
#include "EventHandler.h"
#include "GameConfig.h"
#include "InspectWindowClosedEvent.h"
#include "VisualsConfig.h"
class InspectWindow;
class BalancingWindow : public QWidget
class BalancingWindow : public QWidget,
public CombinedEventHandler<ArenaStartRequestedEvent,
ArenaInspectRequestedEvent,
InspectWindowClosedEvent>
{
Q_OBJECT
@@ -30,15 +37,20 @@ public:
QWidget* parent = nullptr);
~BalancingWindow() override;
private:
void handleEvent(std::shared_ptr<const ArenaStartRequestedEvent> event) override;
void handleEvent(std::shared_ptr<const ArenaInspectRequestedEvent> event) override;
void handleEvent(std::shared_ptr<const InspectWindowClosedEvent> event) override;
private slots:
void pollStatuses();
void reloadConfig();
void startAll();
private:
void startArena(int index);
void inspectArena(int index);
void closeInspectWindow();
private:
void populateArenas(const BalancingConfig& balancingConfig);
void stopAllArenas();
void updateButtons();