import { Manager } from "./utils.mjs";
class Player {
constructor(id, name, level, status, totalPlayed) {
this.id = id;
this.name = name;
this.level = typeof level !== 'undefined' ? level : 1;
this.status = typeof status !== 'undefined' ? status : false;
this.totalPlayed = typeof totalPlayed !== 'undefined' ? status : 0;
}
toggle() {
this.status = !this.status;
this.print();
}
print() {
let status = this.status ? "active" : "inactive";
console.log(this.name + " has a level of " + this.level + " and is currently " + status);
}
render() {
let type = this.status ? `class="button is-success"` : 'class="button is-danger"';
return ``;
}
}
function randomLevel() {
const max_level = 10;
return Math.floor(Math.random() * max_level + 1);
}
function randomStatus() {
return Math.random() < 0.5;
}
function parseLineToPlayer(data) {
var info = data.split(",");
var id = Number(info[0].trim());
var name = info[1].trim() + " " + info[2].trim();
var level = Number(info[3].trim());
return new Player(id, name, level, true, 0);
}
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();
}
generate() {
console.log("Generating player data.");
let maxPlayerCount = 71;
for (let i = 0; i < maxPlayerCount; i++) {
let p = new Player(i, "Player " + i, randomLevel(), randomStatus(), 0);
this.listData.push(p);
}
console.log("Generated data for " + this.listData.length + " players");
this.store();
this.render();
}
import(data) {
var lines = data.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]));
}
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);
})
}