@rpgjs/physic
Version:
A deterministic 2D top-down physics library for RPG, sandbox and MMO games
35 lines (34 loc) • 829 B
JavaScript
class DeterministicInputBuffer {
constructor() {
this.queues = /* @__PURE__ */ new Map();
}
enqueue(playerId, input) {
if (!this.queues.has(playerId)) {
this.queues.set(playerId, /* @__PURE__ */ new Map());
}
const queue = this.queues.get(playerId);
queue.set(input.frame, input);
}
consume(playerId) {
const queue = this.queues.get(playerId);
if (!queue || queue.size === 0) {
return [];
}
const entries = Array.from(queue.values()).sort((a, b) => a.frame - b.frame);
queue.clear();
return entries;
}
pendingCount(playerId) {
return this.queues.get(playerId)?.size ?? 0;
}
clear(playerId) {
this.queues.delete(playerId);
}
clearAll() {
this.queues.clear();
}
}
export {
DeterministicInputBuffer
};
//# sourceMappingURL=index45.js.map