UNPKG

rot-js

Version:

A roguelike toolkit in JavaScript

26 lines (25 loc) 720 B
import Scheduler from "./scheduler.js"; /** * @class Speed-based scheduler */ export default class Speed extends Scheduler { /** * @param {object} item anything with "getSpeed" method * @param {bool} repeat * @param {number} [time=1/item.getSpeed()] * @see ROT.Scheduler#add */ add(item, repeat, time) { this._queue.add(item, time !== undefined ? time : 1 / item.getSpeed()); return super.add(item, repeat); } /** * @see ROT.Scheduler#next */ next() { if (this._current && this._repeat.indexOf(this._current) != -1) { this._queue.add(this._current, 1 / this._current.getSpeed()); } return super.next(); } }