import { Manager } from "./utils.mjs"; import { Guest } from "./data"; export class GuestManager extends Manager { constructor() { super("guest", []); console.log("Loading guest data."); let tempGuest = new Guest(); let data = JSON.parse(localStorage.getItem(tempGuest.description)); if (data === null || data.length === 0) { console.log("Guest data unavailable: " + data); this.generate(); return; } console.log(tempGuest.description); for (let i = 0; i < data.length; i++) { console.log(data[i]); let id = Number(data[i].id); let status = Boolean(Number(data[i].status)); let games = data[i].games; this.data.push(new Guest(id, status, games)); } console.log("Loaded " + this.data.length + " players."); this.render(); } generate() { console.log("Generating guest data."); const tempGuest = new Guest(0, false); const totalGuestCount = tempGuest.maxCount * tempGuest.categoryCount; for (let i = 0; i < totalGuestCount; i++) { let p = new Guest(i, false, 0); this.data.push(p); } console.log("Generated data for " + this.data.length + " guest"); this.store(); this.render(); } active(factor) { factor = typeof factor !== "undefined" ? factor : 1; let data = super.active(); console.log("Normalize skill by a factor of " + factor + "."); let players = data.map(function (p) { p.skill = Math.ceil(p.skill / factor); return p; }); return players; } }