0
0
mirror of https://github.com/Nimac0/SDL_Minigame synced 2026-01-12 09:03:42 +00:00
SDL_Minigame/include/StatEffectsComponent.h
Nimac0 044d957106 feat: data and stats
- reimplemented/unhardcoded stateffects
- reimplemented/unhardcoded pickupables
- implemented datacomponent
- some minor cleanup
2025-01-28 17:31:03 +01:00

26 lines
574 B
C++

#pragma once
#include "Component.h"
#include "Constants.h"
#include <cstdint>
#include <array>
#include <functional>
// This acts as a manager for the lifetime of a stateffect
struct StatEffect {
uint32_t duration;
std::function<void()> resetFunction;
uint32_t startTime;
};
class StatEffectsComponent : public Component{
public:
StatEffectsComponent() {};
~StatEffectsComponent() {};
void init() override;
void update() override;
void addEffect(uint32_t duration, std::function<void()> resetFunction);
private:
std::vector<StatEffect> effects = {};
};