mirror of
https://github.com/Nimac0/SDL_Minigame
synced 2026-01-12 12:33:43 +00:00
26 lines
573 B
C++
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});
|
|
} |