0
0
mirror of https://github.com/Nimac0/SDL_Minigame synced 2026-01-12 12:33:43 +00:00
SDL_Minigame/src/StatEffectsComponent.cpp

26 lines
573 B
C++

#include "StatEffectsComponent.h"
#include "Entity.h"
#include "TransformComponent.h"
#include <algorithm>
#include <iostream>
void StatEffectsComponent::init()
{}
void StatEffectsComponent::update(uint_fast16_t diffTime)
{
for (auto it = effects.begin(); it != effects.end(); ) {
it->duration -= diffTime;
if (it->duration <= 0) {
it->resetFunction();
it = effects.erase(it);
continue;
}
it++;
}
}
void StatEffectsComponent::addEffect(uint32_t duration, std::function<void()> resetFunction) {
effects.push_back({duration, resetFunction});
}