fixed save/load
This commit is contained in:
parent
a17e460f50
commit
a2ec6f700b
|
@ -1,6 +1,5 @@
|
||||||
import { game } from "../game";
|
import { game } from "../game";
|
||||||
import { userData } from "../Classes/userData";
|
import { userData } from "../Classes/userData";
|
||||||
const fs = require('fs');
|
|
||||||
|
|
||||||
export class users{
|
export class users{
|
||||||
static createUser(login, password){
|
static createUser(login, password){
|
||||||
|
@ -37,17 +36,17 @@ export class users{
|
||||||
game.accountsDB[game.accountsDB.indexOf(user)] = userNew;
|
game.accountsDB[game.accountsDB.indexOf(user)] = userNew;
|
||||||
}
|
}
|
||||||
|
|
||||||
static saveUsers(){
|
static saveUsers(fs){
|
||||||
game.accountsDB.forEach(user => {user.save(fs)});
|
game.accountsDB.forEach(user => {user.save(fs)});
|
||||||
}
|
}
|
||||||
|
|
||||||
static loadUsers(){
|
static loadUsers(fs){
|
||||||
fs.mkdirSync(`Database/Users/`, { recursive: true })
|
fs.mkdirSync(`Database/Users/`, { recursive: true })
|
||||||
fs.readdir(`Database/Users/`, (err, files) => {
|
fs.readdir(`Database/Users/`, (err, files) => {
|
||||||
files.forEach(file => {
|
files.forEach(file => {
|
||||||
fs.readFile(`Database/Users/${file}`, (err, data) => {
|
fs.readFile(`Database/Users/${file}`, (err, data) => {
|
||||||
if (err) throw err;
|
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);
|
game.accountsDB.push(user);
|
||||||
console.log(`Loaded ${user.login}`);
|
console.log(`Loaded ${user.login}`);
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import { game } from "../game";
|
import { game } from "../game";
|
||||||
import { playerData } from "../Classes/playerData";
|
import { playerData } from "../Classes/playerData";
|
||||||
const fs = require('fs');
|
|
||||||
|
|
||||||
export class players{
|
export class players{
|
||||||
static createPlayer(id){
|
static createPlayer(id){
|
||||||
|
@ -20,11 +19,11 @@ export class players{
|
||||||
return player;
|
return player;
|
||||||
}
|
}
|
||||||
|
|
||||||
static savePlayers(){
|
static savePlayers(fs){
|
||||||
game.playersDB.forEach(player => {player.save(fs)});
|
game.playersDB.forEach(player => {player.save(fs)});
|
||||||
}
|
}
|
||||||
|
|
||||||
static loadPlayers(){
|
static loadPlayers(fs){
|
||||||
fs.mkdirSync(`Database/Players/`, { recursive: true })
|
fs.mkdirSync(`Database/Players/`, { recursive: true })
|
||||||
fs.readdir(`Database/Players/`, (err, files) => {
|
fs.readdir(`Database/Players/`, (err, files) => {
|
||||||
files.forEach(file => {
|
files.forEach(file => {
|
||||||
|
|
17
index.ts
17
index.ts
|
@ -11,6 +11,7 @@ const express = require("express");
|
||||||
const app = express();
|
const app = express();
|
||||||
const port = 3000;
|
const port = 3000;
|
||||||
const server = require('http').Server(app);
|
const server = require('http').Server(app);
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
server.listen(port, () => {
|
server.listen(port, () => {
|
||||||
console.log(`Server listening at port ${port}`);
|
console.log(`Server listening at port ${port}`);
|
||||||
|
@ -24,8 +25,8 @@ const io = require("socket.io")(server, {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
users.loadUsers();
|
users.loadUsers(fs);
|
||||||
players.loadPlayers();
|
players.loadPlayers(fs);
|
||||||
|
|
||||||
io.on('connection', (socket) => {
|
io.on('connection', (socket) => {
|
||||||
console.log("Got connection!");
|
console.log("Got connection!");
|
||||||
|
@ -42,10 +43,10 @@ io.on('connection', (socket) => {
|
||||||
socket.on("disconnect", () => {
|
socket.on("disconnect", () => {
|
||||||
socket.disconnect()
|
socket.disconnect()
|
||||||
if(socket.hasOwnProperty("player")){
|
if(socket.hasOwnProperty("player")){
|
||||||
socket.player.save()
|
socket.player.save(fs)
|
||||||
}
|
}
|
||||||
if(socket.hasOwnProperty("user")){
|
if(socket.hasOwnProperty("user")){
|
||||||
socket.user.save()
|
socket.user.save(fs)
|
||||||
game.lobbyState.removeUser(socket.user.id)
|
game.lobbyState.removeUser(socket.user.id)
|
||||||
delete socket.user
|
delete socket.user
|
||||||
}
|
}
|
||||||
|
@ -92,8 +93,8 @@ setInterval(() => {
|
||||||
}, 5000)
|
}, 5000)
|
||||||
|
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
users.saveUsers();
|
users.saveUsers(fs);
|
||||||
players.savePlayers();
|
players.savePlayers(fs);
|
||||||
}, 1000 * 60 * 60 * 12) //twice a day
|
}, 1000 * 60 * 60 * 12) //twice a day
|
||||||
|
|
||||||
process.on('uncaughtException', function (err) {
|
process.on('uncaughtException', function (err) {
|
||||||
|
@ -105,7 +106,7 @@ process.on('SIGINT', function () {
|
||||||
process.exit(2);
|
process.exit(2);
|
||||||
});
|
});
|
||||||
process.on('exit', function () {
|
process.on('exit', function () {
|
||||||
users.saveUsers();
|
users.saveUsers(fs);
|
||||||
players.savePlayers();
|
players.savePlayers(fs);
|
||||||
console.log("exitted");
|
console.log("exitted");
|
||||||
});
|
});
|
Loading…
Reference in New Issue