import { TurnClock } from '@datamoc/mw_games/world';const clock = new TurnClock();const poisonId = clock.add({ tick: () => console.log('poison ticks'), duration: 5, onExpire: () => console.log('poison wears off'),});clock.advance(); // one turn passes; every registered effect ticksclock.remove(poisonId); // cured early Copy
import { TurnClock } from '@datamoc/mw_games/world';const clock = new TurnClock();const poisonId = clock.add({ tick: () => console.log('poison ticks'), duration: 5, onExpire: () => console.log('poison wears off'),});clock.advance(); // one turn passes; every registered effect ticksclock.remove(poisonId); // cured early
registers an effect and returns a handle for remove
remove
advances the clock and ticks every effect, removing any whose duration has elapsed
Example