fixed save/load
This commit is contained in:
parent
a17e460f50
commit
a2ec6f700b
|
@ -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}`);
|
||||
});
|
||||
|
|
|
@ -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 => {
|
||||
|
|
17
index.ts
17
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");
|
||||
});
|
Loading…
Reference in New Issue