49 void setNumFrames(
const uint32_t numFrames,
const bool triggerCallback =
true)
52 _updateValue(_current, std::min(_current, _numFrames), triggerCallback);
56 void setDt(
const double dt,
const bool triggerCallback =
true) {
_updateValue(_dt, dt, triggerCallback); }
57 double getDt()
const {
return _dt; }
59 void setUnit(
const std::string& unit,
const bool triggerCallback =
true)
78 _isReadyCallback =
nullptr;
93 uint32_t _adjustedCurrent(
const uint32_t newCurrent)
const {
return _numFrames == 0 ? 0 : newCurrent % _numFrames; }
95 bool _canUpdateFrame()
const;
97 uint32_t _numFrames{0};
100 bool _playing{
false};
#define SERIALIZATION_FRIEND(type)
#define SERIALIZATION_ACCESS(type)
std::function< bool()> IsReadyCallback
void setIsReadyCallback(const IsReadyCallback &callback)
uint32_t getFrame() const
uint32_t getNumFrames() const
void removeIsReadyCallback()
void setDelta(const int32_t delta)
void setUnit(const std::string &unit, const bool triggerCallback=true)
void jumpFrames(int frames)
void setDt(const double dt, const bool triggerCallback=true)
void setFrame(uint32_t value)
void setNumFrames(const uint32_t numFrames, const bool triggerCallback=true)
bool hasIsReadyCallback() const
void _updateValue(T &member, const T &newValue, const bool triggerCallback=true)