import { physicsObject } from "../Classes/physicsObject"; import { playerData } from "../Classes/playerData"; import { userData } from "./userData"; export class lobbyState{ hostId : number users : userData[] = []; players : playerData[] = []; objects : physicsObject[] = []; copyLight(){ let lobby = Object.assign({}, this); lobby.players = [] lobby.users = [] for (let i = 0; i < this.players.length; i++) { lobby.players.push(playerData.copyLight(this.players[i])); } 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) } }