import { GameScreen } from "./screenGame.js"; /** * Chart Manager * Loads charts from server */ class ChartManager { constructor() { this.cache = new Map(); this.covers = new Map(); } async get(id) { if(!this.cache.has(id)) { await fetch("./charts/" + id + "/chart.json") .then(res => res.json()) .then(json => this.cache.set(id, json)) this.covers.set(id, loadImage("./charts/" + id + "/cover.jpg")); } return this.cache.get(id) } async loadChart(selectedChart) { console.log("loading", selectedChart) let ch = await this.get(selectedChart) return new GameScreen(ch); } } export default new ChartManager();