2025-12-06 19:58:52 +01:00
|
|
|
#pragma once
|
2025-12-08 00:59:09 +01:00
|
|
|
#include "Arm.h"
|
2025-12-08 23:49:53 +01:00
|
|
|
#include "AxisAlignedBoundingBox.h"
|
2025-12-06 19:58:52 +01:00
|
|
|
|
2025-12-07 23:28:04 +01:00
|
|
|
// Singleton-class, use MainLoop::getInstance() to get the only instance of the runtime
|
2025-12-06 19:58:52 +01:00
|
|
|
class MainLoop
|
|
|
|
|
{
|
|
|
|
|
public:
|
2025-12-07 23:28:04 +01:00
|
|
|
static MainLoop& getInstance();
|
|
|
|
|
MainLoop(const MainLoop& other) = delete;
|
|
|
|
|
MainLoop(MainLoop&& other) = delete;
|
|
|
|
|
~MainLoop() noexcept;
|
2025-12-06 19:58:52 +01:00
|
|
|
void run();
|
2025-12-07 23:28:04 +01:00
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
MainLoop() noexcept;
|
|
|
|
|
|
|
|
|
|
bool isRunning = true;
|
2025-12-08 00:59:09 +01:00
|
|
|
|
|
|
|
|
Arm arm;
|
2025-12-08 23:49:53 +01:00
|
|
|
AxisAlignedBoundingBox electronicsBB;
|
2025-12-06 19:58:52 +01:00
|
|
|
};
|