2022-06-24 13:37:03 +00:00
|
|
|
import { Player } from "./player.js";
|
|
|
|
import { roomManager } from "./roomManager.js";
|
|
|
|
import { World } from "./world/world.js";
|
|
|
|
export class Game {
|
|
|
|
constructor(id, options) {
|
|
|
|
this.id = id;
|
|
|
|
this.players = [];
|
|
|
|
this.world = new World(options);
|
|
|
|
}
|
|
|
|
addPlayer(id, name, color) {
|
2022-06-24 14:34:25 +00:00
|
|
|
// if (this.getAllNames().includes(name)) return false
|
2022-06-24 13:37:03 +00:00
|
|
|
const player = new Player(id, name, color);
|
|
|
|
this.players.push(player);
|
|
|
|
return player;
|
|
|
|
}
|
|
|
|
removePlayerByID(id) {
|
|
|
|
this.players = this.players.filter(obj => obj.id != id);
|
|
|
|
if (this.players.length < 1) {
|
|
|
|
roomManager.removeGameByID(this.id);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
getAllIDs() {
|
|
|
|
let ids = [];
|
|
|
|
for (let i = 0; i < this.players.length; i++) {
|
|
|
|
ids.push(this.players[i].id);
|
|
|
|
}
|
|
|
|
return ids;
|
|
|
|
}
|
|
|
|
getAllNames() {
|
|
|
|
let names = [];
|
|
|
|
for (let i = 0; i < this.players.length; i++) {
|
|
|
|
names.push(this.players[i].name);
|
|
|
|
}
|
|
|
|
return names;
|
|
|
|
}
|
|
|
|
}
|
2022-06-24 16:29:05 +00:00
|
|
|
//# sourceMappingURL=game.js.map
|