aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/manager/SystemManager.h
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2025-01-07 10:56:25 +0100
committerLoek Le Blansch <loek@pipeframe.xyz>2025-01-07 10:56:25 +0100
commit87ae4d186ad64531e96fd3e121112f2787894295 (patch)
tree7e6efdf1cc66f63a9db0f1625e2d3e98647032e3 /src/crepe/manager/SystemManager.h
parentaa2d2e05bc90b90ab503eff1f58bfc8c2b9c1741 (diff)
revert signalcatch
Diffstat (limited to 'src/crepe/manager/SystemManager.h')
-rw-r--r--src/crepe/manager/SystemManager.h13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/crepe/manager/SystemManager.h b/src/crepe/manager/SystemManager.h
index 7b862a3..614d90c 100644
--- a/src/crepe/manager/SystemManager.h
+++ b/src/crepe/manager/SystemManager.h
@@ -26,14 +26,14 @@ public:
*
* Updates the game state based on the elapsed time since the last frame.
*/
- void frame_update() noexcept;
+ void frame_update();
/**
* \brief Fixed update executed at a fixed rate.
*
* This function updates physics and game logic based on LoopTimer's fixed_delta_time.
*/
- void fixed_update() noexcept;
+ void fixed_update();
private:
/**
@@ -43,20 +43,13 @@ private:
* constructor of \c SystemManager using SystemManager::load_system.
*/
std::unordered_map<std::type_index, std::unique_ptr<System>> systems;
- //! Internal ordered system list entry
- struct SystemEntry {
- //! System instance reference
- System & system;
- //! System name
- std::string name;
- };
/**
* \brief Collection of System instances
*
* This map holds System instances indexed by the system's class typeid. It is filled in the
* constructor of \c SystemManager using SystemManager::load_system.
*/
- std::vector<SystemEntry> system_order;
+ std::vector<std::reference_wrapper<System>> system_order;
/**
* \brief Initialize a system
* \tparam T System type (must be derivative of \c System)