import { physicsObject } from "../Classes/physicsObject"; import { playerData } from "../Classes/playerData"; import { levelState } from "./levelState"; import { userData } from "./userData"; export class lobbyState{ users : userData[] = []; players : playerData[] = []; rooms : levelState[] = [] copyLight(){ let lobby = Object.assign({}, this); lobby.players = [] lobby.users = [] for (let i = 0; i < this.players.length; i++) { lobby.players.push(this.players[i].copyLight()); } lobby.rooms = this.rooms return lobby } addUser(userData, playerData){ let uIdx = this.users.findIndex(u=>u.id == userData.id) let pIdx = this.players.findIndex(u=>u.id == playerData.id) if(uIdx != -1 || pIdx != -1){ console.log("User " + userData.login + " is already in the game!") return false; } this.users.push(userData) this.players.push(playerData) return true } removeUser(id){ let idx = this.users.findIndex(u=>u.id == id) if(idx != -1){ this.users.splice(idx, 1) } idx = this.players.findIndex(u=>u.id == id) if(idx != -1){ this.players.splice(idx, 1) } } findPlayer(id: number){ return this.players.find(p=>p.id == id) } }