From 3a4a0f6f2bf9aff14c00c6acee637319d7458bbb Mon Sep 17 00:00:00 2001 From: Karan Jayachandra Date: Wed, 12 Nov 2025 14:18:36 +0100 Subject: Memory added --- player.mjs | 84 ++++++++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 65 insertions(+), 19 deletions(-) (limited to 'player.mjs') diff --git a/player.mjs b/player.mjs index da94e42..5d8f16a 100644 --- a/player.mjs +++ b/player.mjs @@ -1,4 +1,6 @@ -export class Player { +import { Manager } from "./utils.mjs"; + +class Player { constructor(id, name, level, status, totalPlayed) { this.id = id; this.name = name; @@ -15,7 +17,7 @@ export class Player { console.log(this.name + " has a level of " + this.level + " and is currently " + status); } render() { - let type = this.status ? `class="button is-medium is-success"` : 'class="button is-medium is-danger"'; + let type = this.status ? `class="button is-success"` : 'class="button is-danger"'; return ``; } } @@ -29,14 +31,6 @@ function randomStatus() { return Math.random() < 0.5; } -export function generatePlayers() { - let players = []; - for (let i = 0; i < 71; i++) { - players.push(new Player(i, "Player " + i, randomLevel(), randomStatus(), 0)); - } - return players; -} - function parseLineToPlayer(data) { var info = data.split(","); var id = Number(info[0].trim()); @@ -45,14 +39,66 @@ function parseLineToPlayer(data) { return new Player(id, name, level, true, 0); } -export function csvToPlayers(csv) { - var lines = csv.split("\n"); - var players = []; - for (var i = 1; i < lines.length; i++) { - if(lines[i] == undefined || lines[i].trim() == "") {continue;} - players.push(parseLineToPlayer(lines[i])); +export class PlayerManager extends Manager { + constructor() { + super("regular", []); + console.log("Loading player data."); + let data = JSON.parse(localStorage.getItem(this.description)); + if (data === null || data.length === 0) { + console.log("Player data unavailable: " + data); + this.generate(); + return; + } + for (let i = 0; i < data.length; i++) { + var id = Number(data[i].id); + var name = data[i].name; + var level = data[i].level; + var status = data[i].status; + var totalPlayed = data[i].totalPlayed; + this.listData.push(new Player(id, name, level, status, totalPlayed)); + } + console.log("Loaded " + this.listData.length + " players."); + this.render(); } - console.log("Loaded " + players.length + " Players"); - for (var i=0; i { + const file = f.files[0]; + let importData; + console.log("Loading data from "+ file.name); + const reader = new FileReader(); + reader.onload = function(e) { + importData = reader.result; + p.import(importData); + }; + reader.readAsText(file); + }) + } \ No newline at end of file -- cgit v1.3.1