OdysseyDecomp/lib/al/Library/Math/IntervalTrigger.cpp
2025-10-24 16:38:18 +02:00

23 lines
540 B
C++

#include "Library/Math/IntervalTrigger.h"
#include "Library/Math/MathUtil.h"
namespace al {
IntervalTrigger::IntervalTrigger(f32 intervalTime) : mIntervalTime{intervalTime} {}
void IntervalTrigger::update(f32 deltaTime) {
mIsTriggered = false;
mTime += deltaTime;
if (mTime >= mIntervalTime) {
mIsTriggered = true;
mTime = modf(mTime, mIntervalTime);
}
if (mTime < 0.0f) {
mIsTriggered = true;
mTime += ((s32)(-mTime / mIntervalTime) + 1) * mIntervalTime;
}
}
} // namespace al