diff --git a/system_scheduler.hpp b/system_scheduler.hpp index 1bd8a11..9c4fb05 100644 --- a/system_scheduler.hpp +++ b/system_scheduler.hpp @@ -1,4 +1,5 @@ #pragma once +#include #include #include @@ -7,9 +8,9 @@ namespace zecsy class system_scheduler final { public: - void add_system(float freq, auto&& func); + void add_system(float freq, std::invocable auto&& func); - void add_system(int freq, auto&& func); + void add_system(int freq, std::invocable auto&& func); void update(float dt); @@ -24,13 +25,15 @@ namespace zecsy std::vector systems; }; - inline void system_scheduler::add_system(float freq, auto&& func) + inline void system_scheduler::add_system(float freq, + std::invocable auto&& func) { systems.emplace_back(1.0f / freq, 0.0f, std::forward(func)); } - inline void system_scheduler::add_system(int freq, auto&& func) + inline void system_scheduler::add_system(int freq, + std::invocable auto&& func) { add_system(float(freq), func); }