@javelin/ecs
Version:
22 lines • 610 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useTimer = void 0;
const effect_1 = require("../../effect");
exports.useTimer = effect_1.createEffect(() => {
let state = 0;
let timer;
return function useTimer(duration, invalidate = false) {
if (invalidate) {
state = 0;
clearTimeout(timer);
}
if (state === 0) {
state = 1;
timer = setTimeout(() => {
state = 2;
}, duration);
}
return state === 2;
};
});
//# sourceMappingURL=use_timer.js.map