Renamed Time.cpp to Manager.cpp for clarity

This commit is contained in:
2025-10-07 12:09:48 +03:00
parent fb82db0017
commit cc39fd31e8
4 changed files with 14 additions and 14 deletions

38
src/Manager.cpp Normal file
View File

@@ -0,0 +1,38 @@
#include "ChargeVideo.hpp"
#include <Magnum/Timeline.h>
#include <vector>
using namespace ChargeVideo;
// ================== Video Managing ==================
float Manager::DeltaTime = 0.0f;
uint16_t Manager::videoIDCounter = 0;
std::unordered_map<uint16_t, std::function<void()>> Manager::videoPlayMethods;
std::vector<uint16_t> Manager::toUnhook;
Timeline Manager::time{};
void Manager::AdvanceTime() {
if (time.currentFrameTime() == 0.0f) {
time.start();
}
DeltaTime = time.currentFrameDuration();
for (auto processVideo : videoPlayMethods) {
processVideo.second();
}
for (uint16_t id : toUnhook) {
videoPlayMethods.erase(id);
}
time.nextFrame();
}
uint16_t Manager::hookVideo(std::function<void()> videoPlay) {
videoPlayMethods.insert({++videoIDCounter, videoPlay});
return videoIDCounter;
}
void Manager::unhookVideo(uint16_t ID) { toUnhook.push_back(ID); }