From a2ec6f700b41ae91be933c1b1438a808d0700bcd Mon Sep 17 00:00:00 2001 From: katboi01 Date: Mon, 2 Dec 2024 09:51:41 +0100 Subject: [PATCH] fixed save/load --- Account/users.ts | 7 +++---- Player/players.ts | 5 ++--- index.ts | 17 +++++++++-------- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/Account/users.ts b/Account/users.ts index 7c9b8db..e61e37e 100644 --- a/Account/users.ts +++ b/Account/users.ts @@ -1,6 +1,5 @@ import { game } from "../game"; import { userData } from "../Classes/userData"; -const fs = require('fs'); export class users{ static createUser(login, password){ @@ -37,17 +36,17 @@ export class users{ game.accountsDB[game.accountsDB.indexOf(user)] = userNew; } - static saveUsers(){ + static saveUsers(fs){ game.accountsDB.forEach(user => {user.save(fs)}); } - static loadUsers(){ + static loadUsers(fs){ fs.mkdirSync(`Database/Users/`, { recursive: true }) fs.readdir(`Database/Users/`, (err, files) => { files.forEach(file => { fs.readFile(`Database/Users/${file}`, (err, data) => { if (err) throw err; - let user : userData = JSON.parse(data); + let user : userData = Object.assign(new userData(-1,"",""), JSON.parse(data)); game.accountsDB.push(user); console.log(`Loaded ${user.login}`); }); diff --git a/Player/players.ts b/Player/players.ts index eaf4bba..95ff945 100644 --- a/Player/players.ts +++ b/Player/players.ts @@ -1,6 +1,5 @@ import { game } from "../game"; import { playerData } from "../Classes/playerData"; -const fs = require('fs'); export class players{ static createPlayer(id){ @@ -20,11 +19,11 @@ export class players{ return player; } - static savePlayers(){ + static savePlayers(fs){ game.playersDB.forEach(player => {player.save(fs)}); } - static loadPlayers(){ + static loadPlayers(fs){ fs.mkdirSync(`Database/Players/`, { recursive: true }) fs.readdir(`Database/Players/`, (err, files) => { files.forEach(file => { diff --git a/index.ts b/index.ts index e5d0b4a..a445a0b 100644 --- a/index.ts +++ b/index.ts @@ -11,6 +11,7 @@ const express = require("express"); const app = express(); const port = 3000; const server = require('http').Server(app); +const fs = require('fs'); server.listen(port, () => { console.log(`Server listening at port ${port}`); @@ -24,8 +25,8 @@ const io = require("socket.io")(server, { } }); -users.loadUsers(); -players.loadPlayers(); +users.loadUsers(fs); +players.loadPlayers(fs); io.on('connection', (socket) => { console.log("Got connection!"); @@ -42,10 +43,10 @@ io.on('connection', (socket) => { socket.on("disconnect", () => { socket.disconnect() if(socket.hasOwnProperty("player")){ - socket.player.save() + socket.player.save(fs) } if(socket.hasOwnProperty("user")){ - socket.user.save() + socket.user.save(fs) game.lobbyState.removeUser(socket.user.id) delete socket.user } @@ -92,8 +93,8 @@ setInterval(() => { }, 5000) setInterval(() => { - users.saveUsers(); - players.savePlayers(); + users.saveUsers(fs); + players.savePlayers(fs); }, 1000 * 60 * 60 * 12) //twice a day process.on('uncaughtException', function (err) { @@ -105,7 +106,7 @@ process.on('SIGINT', function () { process.exit(2); }); process.on('exit', function () { - users.saveUsers(); - players.savePlayers(); + users.saveUsers(fs); + players.savePlayers(fs); console.log("exitted"); }); \ No newline at end of file