diff options
| author | Karan Jayachandra <karan.jayachandra@nxp.com> | 2025-11-14 15:58:36 +0100 |
|---|---|---|
| committer | Karan Jayachandra <karan.jayachandra@nxp.com> | 2025-11-14 15:58:36 +0100 |
| commit | e4b599e57e076bef7caa8f5825bbca17540b571d (patch) | |
| tree | 6c86ebeec49161bd459b7a79f7278e7e817bfc53 /src/player.mjs | |
| parent | 51cf65e4d3e928a37b542acfb3de439c42907a9f (diff) | |
Unified the data classes
Diffstat (limited to 'src/player.mjs')
| -rw-r--r-- | src/player.mjs | 60 |
1 files changed, 16 insertions, 44 deletions
diff --git a/src/player.mjs b/src/player.mjs index 7ca2a1f..06b1abd 100644 --- a/src/player.mjs +++ b/src/player.mjs @@ -1,53 +1,24 @@ import { GuestManager } from "./guest.mjs"; -import { shuffle, Manager } from "./utils.mjs"; +import { shuffle, Manager, randomLevel, randomStatus } from "./utils.mjs"; +import { Player } from "./data"; -class Player { - constructor(id, name, level, status, totalPlayed) { - this.id = id; - this.status = typeof status !== "undefined" ? status : false; - this.name = name; - this.level = typeof level !== "undefined" ? level : 1; - 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 + " is currently " + status); - } - render() { - let color = this.status ? "is-success" : "is-danger"; - let type = `class="button is-medium ${color}"`; - return `<button id=${"regular_" + this.id} ${type}>${this.name}</button>`; - } -} - -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); + return new Player(id, true, level, 0, name); } export class PlayerManager extends Manager { g = new GuestManager(); constructor() { - super("regular", []); + super(); console.log("Loading player data."); - let data = JSON.parse(localStorage.getItem(this.description)); + let tempPlayer = new Player(); + let data = JSON.parse(localStorage.getItem(tempPlayer.description)); if (data === null || data.length === 0) { console.log("Player data unavailable: " + data); this.generate(); @@ -56,12 +27,12 @@ export class PlayerManager extends Manager { for (let i = 0; i < data.length; i++) { let id = Number(data[i].id); let name = data[i].name; - let level = data[i].level; - let status = data[i].status; - let totalPlayed = data[i].totalPlayed; - this.listData.push(new Player(id, name, level, status, totalPlayed)); + let level = Number(data[i].level); + let status = Boolean(Number(data[i].status)); + let games = Number(data[i].games); + this.data.push(new Player(id, status, level, games, name)); } - console.log("Loaded " + this.listData.length + " players."); + console.log("Loaded " + this.data.length + " players."); this.render(); this.addBehaviour(); addLoadBehaviour(this); @@ -70,10 +41,11 @@ export class PlayerManager extends Manager { 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); + let p = new Player(i, randomStatus(), randomLevel()); + console.log(p); + this.data.push(p); } - console.log("Generated data for " + this.listData.length + " players"); + console.log("Generated data for " + this.data.length + " players"); this.store(); this.render(); } @@ -90,7 +62,7 @@ export class PlayerManager extends Manager { for (var i = 0; i < players.length; i++) { players[i].print(); } - this.listData = players; + this.data = players; this.store(); this.render(); } |
